Data Structures |
| struct | PXA_CONTEXT |
| struct | PERROR_RECOVERY_DATA |
| struct | PERROR_RECOVERY_DATA10 |
| struct | PCDROM_DATA |
Defines |
| #define | CDB12GENERIC_LENGTH 12 |
| #define | DEVICE_EXTENSION_SIZE sizeof(DEVICE_EXTENSION) + sizeof(CDROM_DATA) |
| #define | SCSI_CDROM_TIMEOUT 10 |
| #define | SCSI_CHANGER_BONUS_TIMEOUT 10 |
| #define | HITACHI_MODE_DATA_SIZE 12 |
| #define | MODE_DATA_SIZE 64 |
| #define | RAW_SECTOR_SIZE 2352 |
| #define | COOKED_SECTOR_SIZE 2048 |
| #define | MEDIA_CHANGE_DEFAULT_TIME 4 |
| #define | CDROM_SRB_LIST_SIZE 4 |
| #define | PLAY_ACTIVE(DeviceExtension) (((PCDROM_DATA)(DeviceExtension + 1))->PlayActive) |
| #define | MSF_TO_LBA(Minutes, Seconds, Frames) (ULONG)((60 * 75 * (Minutes)) + (75 * (Seconds)) + ((Frames) - 150)) |
| #define | LBA_TO_MSF(Lba, Minutes, Seconds, Frames) |
| #define | DEC_TO_BCD(x) (((x / 10) << 4) + (x % 10)) |
| #define | XA_USE_6_BYTE 0x01 |
| #define | XA_USE_10_BYTE 0x02 |
| #define | XA_USE_READ_CD 0x04 |
| #define | XA_NOT_SUPPORTED 0x08 |
| #define | PLEXTOR_CDDA 0x10 |
| #define | NEC_CDDA 0x20 |
| #define | ANY_SECTOR 0 |
| #define | CD_DA_SECTOR 1 |
| #define | YELLOW_MODE1_SECTOR 2 |
| #define | YELLOW_MODE2_SECTOR 3 |
| #define | FORM2_MODE1_SECTOR 4 |
| #define | FORM2_MODE2_SECTOR 5 |
| #define | ITEMS_TO_QUERY 2 /* always 1 greater than what is searched */ |
Functions |
| NTSTATUS NTAPI | DriverEntry (IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath) |
| BOOLEAN NTAPI | ScsiCdRomFindDevices (IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath, IN PCLASS_INIT_DATA InitializationData, IN PDEVICE_OBJECT PortDeviceObject, IN ULONG PortNumber) |
| NTSTATUS NTAPI | ScsiCdRomOpenClose (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) |
| NTSTATUS NTAPI | ScsiCdRomReadVerification (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) |
| NTSTATUS NTAPI | ScsiCdRomSwitchMode (IN PDEVICE_OBJECT DeviceObject, IN ULONG SectorSize, IN PIRP OriginalRequest) |
| NTSTATUS NTAPI | CdRomDeviceControl (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) |
| NTSTATUS NTAPI | CdRomDeviceControlCompletion (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context) |
| NTSTATUS NTAPI | CdRomSetVolumeIntermediateCompletion (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context) |
| NTSTATUS NTAPI | CdRomSwitchModeCompletion (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context) |
| NTSTATUS NTAPI | CdRomXACompletion (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context) |
| NTSTATUS NTAPI | CdRomClassIoctlCompletion (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context) |
| VOID NTAPI | ScsiCdRomStartIo (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) |
| VOID NTAPI | CdRomTickHandler (IN PDEVICE_OBJECT DeviceObject, IN PVOID Context) |
| BOOLEAN NTAPI | CdRomCheckRegistryForMediaChangeValue (IN PUNICODE_STRING RegistryPath, IN ULONG DeviceNumber) |
| NTSTATUS NTAPI | CdRomUpdateCapacity (IN PDEVICE_EXTENSION DeviceExtension, IN PIRP IrpToComplete, IN OPTIONAL PKEVENT IoctlEvent) |
| NTSTATUS NTAPI | CreateCdRomDeviceObject (IN PDRIVER_OBJECT DriverObject, IN PDEVICE_OBJECT PortDeviceObject, IN ULONG PortNumber, IN PULONG DeviceCount, PIO_SCSI_CAPABILITIES PortCapabilities, IN PSCSI_INQUIRY_DATA LunInfo, IN PCLASS_INIT_DATA InitializationData, IN PUNICODE_STRING RegistryPath) |
| VOID NTAPI | ScanForSpecial (PDEVICE_OBJECT DeviceObject, PINQUIRYDATA InquiryData, PIO_SCSI_CAPABILITIES PortCapabilities) |
| BOOLEAN NTAPI | CdRomIsPlayActive (IN PDEVICE_OBJECT DeviceObject) |
| VOID NTAPI | HitachProcessError (PDEVICE_OBJECT DeviceObject, PSCSI_REQUEST_BLOCK Srb, NTSTATUS *Status, BOOLEAN *Retry) |
| VOID NTAPI | ToshibaProcessError (PDEVICE_OBJECT DeviceObject, PSCSI_REQUEST_BLOCK Srb, NTSTATUS *Status, BOOLEAN *Retry) |
| BOOLEAN NTAPI | IsThisAnAtapiChanger (IN PDEVICE_OBJECT DeviceObject, OUT PULONG DiscsPresent) |
| BOOLEAN NTAPI | IsThisASanyo (IN PDEVICE_OBJECT DeviceObject, IN UCHAR PathId, IN UCHAR TargetId) |
| BOOLEAN NTAPI | IsThisAMultiLunDevice (IN PDEVICE_OBJECT DeviceObject, IN PDEVICE_OBJECT PortDeviceObject) |
| VOID NTAPI | CdRomCreateNamedEvent (IN PDEVICE_EXTENSION DeviceExtension, IN ULONG DeviceNumber) |
| NTSTATUS NTAPI | CreateCdRomDeviceObject (IN PDRIVER_OBJECT DriverObject, IN PDEVICE_OBJECT PortDeviceObject, IN ULONG PortNumber, IN PULONG DeviceCount, IN PIO_SCSI_CAPABILITIES PortCapabilities, IN PSCSI_INQUIRY_DATA LunInfo, IN PCLASS_INIT_DATA InitializationData, IN PUNICODE_STRING RegistryPath) |
| NTSTATUS NTAPI | ToshibaProcessErrorCompletion (PDEVICE_OBJECT DeviceObject, PIRP Irp, PVOID Context) |
| NTSTATUS NTAPI | CdRomMediaChangeCompletion (PDEVICE_OBJECT DeviceObject, PIRP Irp, PVOID Context) |
| NTSTATUS NTAPI | CdRomUpdateGeometryCompletion (PDEVICE_OBJECT DeviceObject, PIRP Irp, PVOID Context) |
Variables |
| IO_COMPLETION_ROUTINE | CdRomDeviceControlCompletion |
| IO_COMPLETION_ROUTINE | CdRomSetVolumeIntermediateCompletion |
| IO_COMPLETION_ROUTINE | CdRomSwitchModeCompletion |
| IO_COMPLETION_ROUTINE | CdRomXACompletion |
| IO_COMPLETION_ROUTINE | CdRomClassIoctlCompletion |
| IO_COMPLETION_ROUTINE | ToshibaProcessErrorCompletion |
| ULONG | NoLoad = 0 |
| IO_COMPLETION_ROUTINE | CdRomMediaChangeCompletion |
| IO_COMPLETION_ROUTINE | CdRomUpdateGeometryCompletion |