Test Media is a CD that has been creating by SB_CdvdBurnerGrabber_TrackAtOnceFromTree where tree is larger than disk.
Test program is a revised version of the GrabGange sample - TOC read is removed - and GrabRange function swapped with ReadLB
getmem( LRBuffer, 8192 );
l__EXCEPTION_NUMBER := StarBurn_CdvdBurnerGrabber_ReadLB(
l__PVOID__CdvdBurnerGrabber,
PCHAR( @l__CHAR__ExceptionText[1] ),
sizeof( l__CHAR__ExceptionText ),
l__ULONG__Status,
@l__CDB_FAILURE_INFORMATION,
17,
LRBuffer,
8192 );
Quote:
Debug Output: StarBurn.pas : StarBurn.dll version : 0x20080820 Process GrabRange.exe (2632)
...
Debug Output: CStarBurn_CdvdBurnerGrabber::ReadLB(): ENTERed for 17, 0x00E63890, 0x00002000 Process GrabRange.exe (2632)
Debug Output: CStarBurn_CdvdBurnerGrabber::RestoreReadErrorRecoverySafe(): ENTERed Process GrabRange.exe (2632)
Debug Output: Read Error Recovery Page Dump: Page Code: 0x01, PSBit (Page Saveable): 0 Process GrabRange.exe (2632)
Debug Output: Parameter Length: 10 UCHARs, Error Recovery Parameter: 0x00, Read Retry Count: 48 Process GrabRange.exe (2632)
Debug Output: CStarBurn_CdvdBurnerGrabber::RestoreReadErrorRecoverySafe(): EXITing with success Process GrabRange.exe (2632)
Debug Output: CStarBurn_ScsiTransportASPI::ExecuteCDB(): Command failed Process GrabRange.exe (2632)
Debug Output: SCSI Request Block Dump: SRB_Status: 0x04, SRB_HaStat: 0x00, SRB_TargStat: 0x02 Process GrabRange.exe (2632)
Debug Output: CDB Length: 12, CDB Dump: 0xAD 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x10 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Process GrabRange.exe (2632)
Debug Output: SCSI sense data dump: Error Code: 0x70, Is Sense Valid: No, Segment Number: 0x00 (0) Process GrabRange.exe (2632)
Debug Output: Sense Key: 0x05, Reserved: 0x00, Incorrect Length: No Process GrabRange.exe (2632)
Debug Output: End Of Media: No, File Mark: No, Information: 0x00 0x00 0x00 0x00 Process GrabRange.exe (2632)
Debug Output: Additional Sense Length: 0x0A (10) Process GrabRange.exe (2632)
Debug Output: Command Specific Information: 0x00 0x00 0x00 0x00 Process GrabRange.exe (2632)
Debug Output: Additional Sense Code (ASC): 0x30, Additional Sense Code Qualifier (ASCQ): 0x02 Process GrabRange.exe (2632)
Debug Output: CStarBurn_ScsiTransportASPI::ExecuteCDB(): Command failed Process GrabRange.exe (2632)
Debug Output: SCSI Request Block Dump: SRB_Status: 0x04, SRB_HaStat: 0x00, SRB_TargStat: 0x02 Process GrabRange.exe (2632)
Debug Output: CDB Length: 12, CDB Dump: 0xAD 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x10 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Process GrabRange.exe (2632)
Debug Output: SCSI sense data dump: Error Code: 0x70, Is Sense Valid: No, Segment Number: 0x00 (0) Process GrabRange.exe (2632)
Debug Output: Sense Key: 0x05, Reserved: 0x00, Incorrect Length: No Process GrabRange.exe (2632)
Debug Output: End Of Media: No, File Mark: No, Information: 0x00 0x00 0x00 0x00 Process GrabRange.exe (2632)
Debug Output: Additional Sense Length: 0x0A (10) Process GrabRange.exe (2632)
Debug Output: Command Specific Information: 0x00 0x00 0x00 0x00 Process GrabRange.exe (2632)
Debug Output: Additional Sense Code (ASC): 0x30, Additional Sense Code Qualifier (ASCQ): 0x02 Process GrabRange.exe (2632)
Debug Output: CStarBurn_ScsiTransportASPI::ExecuteCDB(): Command failed Process GrabRange.exe (2632)
Debug Output: SCSI Request Block Dump: SRB_Status: 0x04, SRB_HaStat: 0x00, SRB_TargStat: 0x02 Process GrabRange.exe (2632)
Debug Output: CDB Length: 10, CDB Dump: 0x43 0x02 0x02 0x00 0x00 0x00 0x00 0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Process GrabRange.exe (2632)
Debug Output: SCSI sense data dump: Error Code: 0x70, Is Sense Valid: No, Segment Number: 0x00 (0) Process GrabRange.exe (2632)
Debug Output: Sense Key: 0x05, Reserved: 0x00, Incorrect Length: No Process GrabRange.exe (2632)
Debug Output: End Of Media: No, File Mark: No, Information: 0x00 0x00 0x00 0x00 Process GrabRange.exe (2632)
Debug Output: Additional Sense Length: 0x0A (10) Process GrabRange.exe (2632)
Debug Output: Command Specific Information: 0x00 0x00 0x00 0x00 Process GrabRange.exe (2632)
Debug Output: Additional Sense Code (ASC): 0x24, Additional Sense Code Qualifier (ASCQ): 0x00 Process GrabRange.exe (2632)
First chance exception at $76E1B09E. Exception class Exception with message 'Error'. Process GrabRange.exe (2632)
Debug Output: CStarBurn_CdvdBurnerGrabber::RestoreReadErrorRecoverySafe(): ENTERed Process GrabRange.exe (2632)
Debug Output: Read Error Recovery Page Dump: Page Code: 0x01, PSBit (Page Saveable): 0 Process GrabRange.exe (2632)
Debug Output: Parameter Length: 10 UCHARs, Error Recovery Parameter: 0x00, Read Retry Count: 48 Process GrabRange.exe (2632)
Debug Output: CStarBurn_CdvdBurnerGrabber::RestoreReadErrorRecoverySafe(): EXITing with success Process GrabRange.exe (2632)
Module Unload: wnaspi32.dll. Process GrabRange.exe (2632)
Using readCooked instead of ReadLB ie
l__EXCEPTION_NUMBER := StarBurn_CdvdBurnerGrabber_ReadCooked(
l__PVOID__CdvdBurnerGrabber,
PCHAR( @l__CHAR__ExceptionText[1] ),
sizeof( l__CHAR__ExceptionText ),
l__ULONG__Status,
@l__CDB_FAILURE_INFORMATION,
LRBuffer,
8192,
17,
2 );
Works fine with valid data in LRBuffer