DeviceTypes.pas
上传用户:wanyu_2000
上传日期:2021-02-21
资源大小:527k
文件大小:4k
- {-----------------------------------------------------------------------------
- Unit Name: DeviceTypes
- Author: Paul Fisher / Andrew Semack
- Purpose: Selection of types
- History:
- -----------------------------------------------------------------------------}
- unit DeviceTypes;
- interface
- uses
- Windows, SCSITypes;
- const
- //TDataBlockType
- btRAW_DATA_BLOCK = $00;
- btRAW_DATA_P_Q_SUB = $01;
- btRAW_DATA_P_W_SUB = $02;
- btRAW_DATA_P_W_SUB2 = $03;
- btMODE_1 = $08;
- btMODE_2 = $09;
- btMODE_2_XA_FORM_1 = $0A;
- btMODE_2_XA_FORM_1_SUB = $0B;
- btMODE_2_XA_FORM_2 = $0C;
- btMODE_2_XA_FORM_2_SUB = $0D;
- //TSessionType
- stCDROM_CDDA = $00;
- stCDI_DISK = $01;
- stCDROM_XA = $20;
- //TEraseType
- etBLANK_DISC = $00;
- etBLANK_MINIMAL = $01;
- etBLANK_TRACK = $02;
- etUN_RESERVE_TRACK = $03;
- etBLANK_TRACK_TAIL = $04;
- etUNCLOSE_LAST_SESSION = $05;
- etERASE_SESSION = $06;
- etSESSION_FORMAT = $10;
- etGROW_SESSION = $11;
- etADD_SESSION = $12;
- etQUICK_GROW_LAST_SESSION = $13;
- etQUICK_ADD_SESSION = $14;
- etQUICK_SESSION_FORMAT = $15;
- etMRW_FULL_FORMAT = $24;
- etDVD_PLUS_RW_BASIC_FORMAT = $26;
- //TWriteType
- wtPACKET_WRITE = $00;
- wtTRACK_AT_ONCE = $01;
- wtSESSION_AT_ONCE = $02;
- wtRAW_DATA = $03;
- wtDVDPLUS_TAO = $22;
- wtDVD_TAO = $42;
- //TTrackMode
- tmCDR_MODE_AUDIO = $01;
- tmCDR_MODE_INCR_DATA = $01;
- tmCDR_MODE_ALLOW_COPY = $02;
- tmCDR_MODE_DATA = $04;
- tmDVD_MODE_DATA = $05;
- tmCDR_MODE_QUAD_AUDIO = $08;
- tmCDR_MODE_DAO_96 = $3F;
- //TCDSpeeds
- SCDS_MAXSPEED = $FFFF;
- SCDS_NONE = $00;
- //TMedia Types
- mtUNKNOWN = 0;
- mtCD_ROM = 1;
- mtCD_R = 2;
- mtCD_RW = 3;
- mtDVD_ROM = 4;
- mtDVD_R = 5;
- mtDVD_RAM = 6;
- mtDVD_RW = 7;
- mtDVD_RW_RO = 7;
- mtDVD_RW_SR = 8;
- mtDVD_PLUSRW= 9;
- mtDVD_PLUSR = 10;
- mtDDCD_ROM = 11;
- mtDDCD_R = 12;
- mtDDCD_RW = 13;
- type
- TCopyStatusEvent = procedure(CurrentSector, PercentDone: Integer) of object;
- TCDStatusEvent = procedure(CurrentStatus: string) of object;
- TCDBufferProgressEvent = procedure(Percent: Integer) of object;
- TCDFileBufferProgressEvent = procedure(Percent: Integer) of object;
- TCDBufferStatusEvent = procedure(BufferSize, FreeSize: Integer) of object;
- TCDWriteStatusEvent = procedure(BytesWritten: Integer) of object;
- type
- TDiscType = (
- dtMT_UNKNOWN = $00,
- dtMT_CDROMDATA120 = $01,
- dtMT_CDAUDIO120 = $02,
- dtMT_CDROMMIXED120 = $03,
- dtMT_CDROMHYBRID120 = $04,
- dtMT_CDROMDATA80 = $05,
- dtMT_CDAUDIO80 = $06,
- dtMT_CDROMMIXED80 = $07,
- dtMT_CDROMHYBRID80 = $08,
- dtMT_CDRUNKNOWN = $10,
- dtMT_CDRDATA120 = $11,
- dtMT_CDRAUDIO120 = $12,
- dtMT_CDRMIXED120 = $13,
- dtMT_CDRHYBRID120 = $14,
- dtMT_CDRDATA80 = $15,
- dtMT_CDRAUDIO80 = $16,
- dtMT_CDRMIXED80 = $17,
- dtMT_CDRHYBRID80 = $18,
- dtMT_CDRWUNKNOWN = $20,
- dtMT_CDRWDATA120 = $21,
- dtMT_CDRWAUDIO120 = $22,
- dtMT_CDRWMIXED120 = $23,
- dtMT_CDRWHYBRID120 = $24,
- dtMT_CDRWDATA80 = $25,
- dtMT_CDRWAUDIO80 = $26,
- dtMT_CDRWMIXED80 = $27,
- dtMT_CDRWHYBRID80 = $28,
- dtMT_NODISC = $70,
- dtMT_DOOROPEN = $71
- );
- type
- PCDBurnerInfo = ^TCDBurnerInfo;
- // built to be able to add special types to the write settings
- Type
- TSpecialDeviceType = Record
- PDVR103 : Boolean;
- SonyCRX100E : Boolean;
- TEAC512EB : Boolean;
- FlmmedCT : Boolean;
- SonyPowerBurn : Boolean;
- end;
- Type
- TDiskMediaType = Record
- MediaType : Integer;
- MedialSize : Cardinal;
- end;
- type
- TBurnSettings = record
- DataBlockType : Integer;
- WriteType : Integer;
- TrackMode : Integer;
- SessionType : Integer;
- EraseType : Integer;
- AudioPause : Integer;
- PacketSize : Integer;
- TestWrite : Boolean;
- BurnProof : Boolean;
- CloseSession : Boolean;
- CloseDisk : Boolean;
- DiskAtOnce : Boolean;
- SessionAtOnce : Boolean;
- SpecialDeviceType : TSpecialDeviceType;
- MediaType : TDiskMediaType;
- MultiSession : Boolean;
- SetError : string;
- end;
- implementation
- end.