StarBurn SDK (Software Development Kit)
ContentsIndexHome
PreviousUpNext
StarBurn_CdvdBurnerGrabber_GetSupportedMediaFormats Function
C++
__stdcall STARBURN_IMPEX_API VOID StarBurn_CdvdBurnerGrabber_GetSupportedMediaFormats(IN PVOID p__PVOID__CdvdBurnerGrabber, OUT PBOOLEAN p__PBOOLEAN__IsCDRRead, OUT PBOOLEAN p__PBOOLEAN__IsCDERead, OUT PBOOLEAN p__PBOOLEAN__IsDVDROMRead, OUT PBOOLEAN p__PBOOLEAN__IsDVDRRead, OUT PBOOLEAN p__PBOOLEAN__IsDVDRAMRead, OUT PBOOLEAN p__PBOOLEAN__IsTestWrite, OUT PBOOLEAN p__PBOOLEAN__IsCDRWrite, OUT PBOOLEAN p__PBOOLEAN__IsCDEWrite, OUT PBOOLEAN p__PBOOLEAN__IsDVDRWrite, OUT PBOOLEAN p__PBOOLEAN__IsDVDRAMWrite);
Parameters 
Description 
IN PVOID p__PVOID__CdvdBurnerGrabber 
Pointer to the CdvdBurnerGrabber object that toolkit allocated before with the call to StarBurn_CdvdBurnerGrabber_Create().
 
OUT PBOOLEAN p__PBOOLEAN__IsCDRRead 
Pointer to the boolean variable that will receive is device capable of reading CD-R discs or not.
 
OUT PBOOLEAN p__PBOOLEAN__IsCDERead 
Pointer to the boolean variable that will receive is device capable of reading CD-RW discs or not.
 
OUT PBOOLEAN p__PBOOLEAN__IsDVDROMRead 
Pointer to the boolean variable that will receive is device capable of reading DVD-ROM discs or not.
 
OUT PBOOLEAN p__PBOOLEAN__IsDVDRRead 
Pointer to the boolean variable that will receive is device capable of reading DVD-R discs or not.
 
OUT PBOOLEAN p__PBOOLEAN__IsDVDRAMRead 
Pointer to the boolean variable that will receive is device capable of reading DVD-RAM discs or not.
 
OUT PBOOLEAN p__PBOOLEAN__IsTestWrite 
Pointer to the boolean variable that will receive is device capable of test recording or not.
 
OUT PBOOLEAN p__PBOOLEAN__IsCDRWrite 
Pointer to the boolean variable that will receive is device capable of writing CD-R discs or not.
 
OUT PBOOLEAN p__PBOOLEAN__IsCDEWrite 
Pointer to the boolean variable that will receive is device capable of writing CD-RW discs or not.
 
OUT PBOOLEAN p__PBOOLEAN__IsDVDRWrite 
Pointer to the boolean variable that will receive is device capable of writing DVD-R discs or not.
 
OUT PBOOLEAN p__PBOOLEAN__IsDVDRAMWrite 
Pointer to the boolean variable that will receive is device capable of writing DVD-RAM discs or not. 

None. This function cannot fail.

This function returns CD/DVD/Blu-Ray/HD-DVD burner device object extended information. This data can be used to report the capabilities of the device to the user.

Please see the TrackAtOnceFromTree and TrackAtOnceFromFile samples that will demonstrate how ISO9660 or Joliet file system image can be burn on the CD/DVD/Blu-Ray/HD-DVD media and what use can be taken from CdvdBurnerGrabber device extended information.

This example allocates CdvdBurnerGrabber object, retreives device extended information and destroys the device object after it's not needed any more. 

 

// Somewhere in the data region
PVOID l__PVOID__CdvdBurnerGrabber;
EXCEPTION_NUMBER l__EXCEPTION_NUMBER;
ULONG l__ULONG__SystemError;
ULONG l__ULONG__CacheBufferSizeInUCHARs;
CHAR l__CHAR__ExceptionText[ 1024 ];
BOOLEAN l__BOOLEAN__IsCDRRead;
BOOLEAN l__BOOLEAN__IsCDERead;
BOOLEAN l__BOOLEAN__IsDVDROMRead;
BOOLEAN l__BOOLEAN__IsDVDRRead;
BOOLEAN l__BOOLEAN__IsDVDRAMRead;
BOOLEAN l__BOOLEAN__IsTestWrite;
BOOLEAN l__BOOLEAN__IsCDRWrite;
BOOLEAN l__BOOLEAN__IsCDEWrite;
BOOLEAN l__BOOLEAN__IsDVDRWrite;
BOOLEAN l__BOOLEAN__IsDVDRAMWrite;
CDB_FAILURE_INFORMATION l__CDB_FAILURE_INFORMATION;

// Prepare exception text buffer
RtlZeroMemory(
    &l__CHAR__ExceptionText,
    sizeof( l__CHAR__ExceptionText )
    );

// Prepare CDB failure information
RtlZeroMemory(
    &l__CDB_FAILURE_INFORMATION,
    sizeof( l__CDB_FAILURE_INFORMATION )
    );

// Try to create CdvdBurnerGrabber on 0:0:4:0 with 32MB of cache
l__EXCEPTION_NUMBER =
StarBurn_CdvdBurnerGrabber_Create(
    &l__PVOID__CdvdBurnerGrabber,
    ( PCHAR )( &l__CHAR__ExceptionText ),
    sizeof( l__CHAR__ExceptionText ),
    &l__ULONG__SystemError,
    &l__CDB_FAILURE_INFORMATION,
    ( PCALLBACK )( StarBurn_Callback ),
    0,
    0,
    4,
    0,
    32
    );

// Check for correct reply
if (  l__EXCEPTION_NUMBER != EN_SUCCESS )
{
// Handle error here...
}

// Get CdvdBurnerGrabber device information here...

// Get CdvdBurnerGrabber device extended information
StarBurn_CdvdBurnerGrabber_GetSupportedMediaFormats(
    l__PVOID__CdvdBurnerGrabber,
    &l__BOOLEAN__IsCDRRead,
    &l__BOOLEAN__IsCDERead,
    &l__BOOLEAN__IsDVDROMRead,
    &l__BOOLEAN__IsDVDRRead,
    &l__BOOLEAN__IsDVDRAMRead,
    &l__BOOLEAN__IsTestWrite,
    &l__BOOLEAN__IsCDRWrite,
    &l__BOOLEAN__IsCDEWrite,
    &l__BOOLEAN__IsDVDRWrite,
    &l__BOOLEAN__IsDVDRAMWrite
    );

// Do something with CdvdBurnerGrabber device object and it's extended information here...      

// Destroy the CdvdBurnerGrabber
StarBurn_Destroy( &l__PVOID__CdvdBurnerGrabber );

// Just check for pointer (paranoid?)
if ( l__PVOID__CdvdBurnerGrabber != NULL )
{
// Handle error here...
}