StarBurn SDK (Software Development Kit) |
__stdcall STARBURN_IMPEX_API EXCEPTION_NUMBER StarBurn_ISO9660JolietFileTree_ImportFile(IN PVOID p__PVOID__CdvdBurnerGrabber, IN PVOID p__PVOID__ISO9660JolietFileTree, IN PCHAR p__PCHAR__ImportFileName, IN BOOLEAN p__BOOLEAN__ImportJolietStructures, OUT PCHAR p__PCHAR__ExceptionText, IN ULONG p__ULONG__ExceptionTextSizeInUCHARs, OUT PULONG p__PULONG__SystemError);
Parameters | Description |
IN PVOID p__PVOID__CdvdBurnerGrabber | Pointer to the CdvdBurnerGrabber object that toolkit allocated before with the call to StarBurn_CdvdBurnerGrabber_Create(). |
IN PVOID p__PVOID__ISO9660JolietFileTree | Pointer to ISO9660 or Joliet file tree to import track to. |
IN PCHAR p__PCHAR__ImportFileName | Pointer to the file name to import file system structures from. |
IN BOOLEAN p__BOOLEAN__ImportJolietStructures | Should we try to import Joliet structures (TRUE) or proceed with ISO9660 only (FALSE). |
OUT PCHAR p__PCHAR__ExceptionText | Pointer to exception text buffer. |
IN ULONG p__ULONG__ExceptionTextSizeInUCHARs | Exception text size in UCHARs. |
OUT PULONG p__PULONG__SystemError | Pointer to system error. |
Execution status. EN_SUCCESS if the operation completed successfuly. If the exception number will be EN_SYSTEM_CALL_FAILED, variable that SystemError points to will be filled with system error. If something other then EN_SUCCESS will be returned buffer that ExceptionText will point to will be filled with formatted exception message. If the exception number will be EN_SCSI_CDB_FAILED, CDB_FAILURE_INFORMATION will be filled with apropriate values (CDB that faled, CDB size, SCSI sense data, SCSI sense data size, SCSI transport, device and host adapter status codes).
This function imports file for created ISO9660 or Joliet file tree.
Please see the TrackAtOnceFromTreeWithImportFromFile sample that will demonstrate how ISO9660 or Joliet file system image can be created, existing file imported and whole result burn to the CD/DVD/Blu-Ray/HD-DVD media.
StarBurn_Destroy, StarBurn_CdvdBurnerGrabber_Create, PCALLBACK, EXCEPTION_NUMBER, CDB_FAILURE_INFORMATION, StarBurn_CdvdBurnerGrabber_TrackAtOnceFromTree, StarBurn_CdvdBurnerGrabber_TrackAtOnceFromFile, StarBurn_CdvdBurnerGrabber_DiscAtOncePQFromTree, StarBurn_CdvdBurnerGrabber_DiscAtOnceRawPWFromTree, StarBurn_CdvdBurnerGrabber_SessionAtOnce, StarBurn_CdvdBurnerGrabber_ImportTrack
// Somewhere in the data region PVOID l__PVOID__CdvdBurnerGrabber; EXCEPTION_NUMBER l__EXCEPTION_NUMBER; ULONG l__ULONG__SystemError; CHAR l__CHAR__ExceptionText[ 1024 ]; CDB_FAILURE_INFORMATION l__CDB_FAILURE_INFORMATION; PVOID l__PVOID__ISO9660JolietFileTree; // 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... } // Create and add something to ISO9660 file tree here // Try to import file system structures from the file l__EXCEPTION_NUMBER = StarBurn_ISO9660JolietFileTree_ImportFile( l__PVOID__CdvdBurnerGrabber, l__PVOID__ISO9660JolietFileTree, "Image.ISO", // Import FS structures from file called "Image.ISO" TRUE, // Try to proceed as Joliet ( PCHAR )( &l__CHAR__ExceptionText ), sizeof( l__CHAR__ExceptionText ), &l__ULONG__SystemError ); // Check for correct reply if ( l__EXCEPTION_NUMBER != EN_SUCCESS ) { // Handle error here... } // Destroy the CdvdBurnerGrabber StarBurn_Destroy( &l__PVOID__CdvdBurnerGrabber ); // Just check for pointer (paranoid?) if ( l__PVOID__CdvdBurnerGrabber != NULL ) { // Handle error here... }