StarBurn SDK (Software Development Kit)
ContentsIndexHome
PreviousUpNext
StarBurn_CdvdBurnerGrabber_SetCDTextItem Function
C++
__stdcall STARBURN_IMPEX_API EXCEPTION_NUMBER StarBurn_CdvdBurnerGrabber_SetCDTextItem(IN PVOID p__PVOID__CdvdBurnerGrabber, IN CHAR p__CHAR__TrackIndex, IN const PCHAR p__PCHAR__Artist, IN const PCHAR p__PCHAR__Title, OUT PCHAR p__PCHAR__ExceptionText, IN ULONG p__ULONG__ExceptionTextSizeInUCHARs, OUT PULONG p__PULONG__SystemError);
Parameters 
Description 
IN PVOID p__PVOID__CdvdBurnerGrabber 
Pointer to CStarBurn_CdvdBurnerGrabber object.
 
IN CHAR p__CHAR__TrackIndex 
1-based track number. Or 0 for the common DISC information.
PCHAR p__PCHAR__Artist - Pointer to zero-terminated string with the name of artist/performer/singer.
PCHAR p__PCHAR__Title - Pointer to zero-terminated string with the track title/song name.
 
OUT PCHAR p__PCHAR__ExceptionText 
Pointer to buffer for exception text.
 
IN ULONG p__ULONG__ExceptionTextSizeInUCHARs 
Exception text size in UCHARs.
 
OUT PULONG p__PULONG__SystemError 
Pointer to system error. 

Exception number

Sets CD-Text item for the specified CD/DVD/Blu-Ray/HD-DVD device.

Please check DiscAtOnceFromFile sample to find out how to use StarBurn_CdvdBurnerGrabber_SetCDTextItem() in the right way. Note, that this function is used to burn CD-TEXT for audio discs using StarBurn_CdvdBurnerGrabber_DiscAtOnceRawPWFromFile.

This example allocates CdvdBurnerGrabber object, specifies the CD-Text for a disc and for 3 track and burns the disc. 

 

// Somewhere in the data region
PVOID l__PVOID__CdvdBurnerGrabber;
EXCEPTION_NUMBER l__EXCEPTION_NUMBER;
ULONG l__ULONG__SystemError;
CDB_FAILURE_INFORMATION l__CDB_FAILURE_INFORMATION;
DAO_DISC_LAYOUT l__DAO_DISC_LAYOUT;

// 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...
}

// Add files to burn here by filling l__DAO_DISC_LAYOUT information

// Try to set CD-Text information for 3-track
l__EXCEPTION_NUMBER =
StarBurn_CdvdBurnerGrabber_SetCDTextItem(
    l__PVOID__CdvdBurnerGrabber,
    3,
    "My band",
    "My new song",
    ( PCHAR )( &l__CHAR__ExceptionText ),
    sizeof( l__CHAR__ExceptionText ),
    &l__ULONG__Status
    );

// Check for success
if (l__EXCEPTION_NUMBER != EN_SUCCESS)
{
// Handle error here...
}
            
// Try to set CD-Text information for the disc
l__EXCEPTION_NUMBER =
StarBurn_CdvdBurnerGrabber_SetCDTextItem(
    l__PVOID__CdvdBurnerGrabber,
    0,
    "My band",
    "My first album",
    ( PCHAR )( &l__CHAR__ExceptionText ),
    sizeof( l__CHAR__ExceptionText ),
    &l__ULONG__Status
    );

// Check for success
if (l__EXCEPTION_NUMBER != EN_SUCCESS)
{
// Handle error here...
}
        
// Try to burn ISO/sound/MDS image to the disc as CDROM XA (MODE2 Form1) or CDDA (CD digital audio) in Disc-At-Once raw P-W mode
l__EXCEPTION_NUMBER =
StarBurn_CdvdBurnerGrabber_DiscAtOnceRawPWFromFile(
    l__PVOID__CdvdBurnerGrabber,
    ( PCHAR )( &l__CHAR__ExceptionText ),
    sizeof( l__CHAR__ExceptionText ),
    &l__ULONG__Status,
    &l__CDB_FAILURE_INFORMATION,
    &l__DAO_DISC_LAYOUT,
    FALSE,
    l__BOOLEAN__IsTestWrite,
    FALSE, // Next session allowed
    FALSE, // Do NOT repair broken subchannel
    WRITE_REPORT_DELAY_IN_SECONDS,
    BUFFER_STATUS_REPORT_DELAY_IN_SECONDS
    );

// Destroy the CdvdBurnerGrabber
StarBurn_Destroy( &l__PVOID__CdvdBurnerGrabber );

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