Data Structures |
| struct | PXA_CONTEXT |
| struct | PERROR_RECOVERY_DATA |
| struct | PERROR_RECOVERY_DATA10 |
| struct | PCDROM_DRIVER_EXTENSION |
| struct | PCDROM_MMC_EXTENSION |
| struct | PCDROM_DATA |
Defines |
| #define | CDROM_GET_CONFIGURATION_TIMEOUT (0x4) |
| #define | CDROM_HACK_DEC_RRD (0x00000001) |
| #define | CDROM_HACK_FUJITSU_FMCD_10x (0x00000002) |
| #define | CDROM_HACK_HITACHI_1750 (0x00000004) |
| #define | CDROM_HACK_HITACHI_GD_2000 (0x00000008) |
| #define | CDROM_HACK_TOSHIBA_SD_W1101 (0x00000010) |
| #define | CDROM_HACK_TOSHIBA_XM_3xx (0x00000020) |
| #define | CDROM_HACK_NEC_CDDA (0x00000040) |
| #define | CDROM_HACK_PLEXTOR_CDDA (0x00000080) |
| #define | CDROM_HACK_BAD_GET_CONFIG_SUPPORT (0x00000100) |
| #define | CDROM_HACK_FORCE_READ_CD_DETECTION (0x00000200) |
| #define | CDROM_HACK_READ_CD_SUPPORTED (0x00000400) |
| #define | CDROM_HACK_LOCKED_PAGES (0x80000000) |
| #define | CDROM_HACK_VALID_FLAGS (0x000007ff) |
| #define | CDROM_HACK_INVALID_FLAGS (~CDROM_HACK_VALID_FLAGS) |
| #define | CdromMmcUpdateComplete 0 |
| #define | CdromMmcUpdateRequired 1 |
| #define | CdromMmcUpdateStarted 2 |
| #define | CDROM_DRIVER_EXTENSION_ID CdRomAddDevice |
| #define | DEVICE_EXTENSION_SIZE sizeof(FUNCTIONAL_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 | CDROM_SRB_LIST_SIZE 4 |
| #define | PLAY_ACTIVE(x) (((PCDROM_DATA)(x->CommonExtension.DriverData))->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_NOT_SUPPORTED 0x10 |
| #define | XA_USE_READ_CD 0x20 |
| #define | XA_PLEXTOR_CDDA 0x40 |
| #define | XA_NEC_CDDA 0x80 |
| #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 | MAX_COPY_PROTECT_AGID 4 |
| #define | CDROM_TAG_GET_CONFIG 'cCcS' |
| #define | CDROM_TAG_DC_EVENT 'ECcS' |
| #define | CDROM_TAG_FEATURE 'FCcS' |
| #define | CDROM_TAG_DISK_GEOM 'GCcS' |
| #define | CDROM_TAG_HITACHI_ERROR 'HCcS' |
| #define | CDROM_TAG_SENSE_INFO 'ICcS' |
| #define | CDROM_TAG_POWER_IRP 'iCcS' |
| #define | CDROM_TAG_SRB 'SCcS' |
| #define | CDROM_TAG_STRINGS 'sCcS' |
| #define | CDROM_TAG_MODE_DATA 'MCcS' |
| #define | CDROM_TAG_READ_CAP 'PCcS' |
| #define | CDROM_TAG_PLAY_ACTIVE 'pCcS' |
| #define | CDROM_TAG_SUB_Q 'QCcS' |
| #define | CDROM_TAG_RAW 'RCcS' |
| #define | CDROM_TAG_TOC 'TCcS' |
| #define | CDROM_TAG_TOSHIBA_ERROR 'tCcS' |
| #define | CDROM_TAG_DEC_ERROR 'dCcS' |
| #define | CDROM_TAG_UPDATE_CAP 'UCcS' |
| #define | CDROM_TAG_VOLUME 'VCcS' |
| #define | CDROM_TAG_VOLUME_INT 'vCcS' |
| #define | DVD_TAG_READ_STRUCTURE 'SVcS' |
| #define | DVD_TAG_READ_KEY 'kVcS' |
| #define | DVD_TAG_SEND_KEY 'KVcS' |
| #define | DVD_TAG_RPC2_CHECK 'sVcS' |
| #define | DVD_TAG_DVD_REGION 'tVcS' |
| #define | DVD_TAG_SECURITY 'XVcS' |
| #define | CDROM_SUBKEY_NAME (L"CdRom") |
| #define | CDROM_READ_CD_NAME (L"ReadCD") |
| #define | CDROM_NON_MMC_DRIVE_NAME (L"NonMmc") |
| #define | DVD_DEFAULT_REGION (L"DefaultDvdRegion") |
| #define | DVD_CURRENT_REGION (L"DvdR") |
| #define | DVD_REGION_RESET_COUNT (L"DvdRCnt") |
| #define | DVD_MAX_REGION_RESET_COUNT 2 |
| #define | DVD_MAX_REGION 8 |
| #define | BAIL_OUT(Irp) |
Enumerations |
| enum | CdromError {
CdromDebugError = 0,
CdromDebugWarning = 1,
CdromDebugTrace = 2,
CdromDebugInfo = 3,
CdromDebugFeatures = 32
} |
Functions |
| static VOID | CdRomCompleteIrpAndStartNextPacketSafely (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) |
| VOID | CdRomDeviceControlDvdReadStructure (IN PDEVICE_OBJECT DeviceObject, IN PIRP OriginalIrp, IN PIRP NewIrp, IN PSCSI_REQUEST_BLOCK Srb) |
| VOID | CdRomDeviceControlDvdEndSession (IN PDEVICE_OBJECT DeviceObject, IN PIRP OriginalIrp, IN PIRP NewIrp, IN PSCSI_REQUEST_BLOCK Srb) |
| VOID | CdRomDeviceControlDvdStartSessionReadKey (IN PDEVICE_OBJECT DeviceObject, IN PIRP OriginalIrp, IN PIRP NewIrp, IN PSCSI_REQUEST_BLOCK Srb) |
| VOID | CdRomDeviceControlDvdSendKey (IN PDEVICE_OBJECT DeviceObject, IN PIRP OriginalIrp, IN PIRP NewIrp, IN PSCSI_REQUEST_BLOCK Srb) |
| NTSTATUS | DriverEntry (IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath) |
| VOID | CdRomUnload (IN PDRIVER_OBJECT DriverObject) |
| NTSTATUS | CdRomAddDevice (IN PDRIVER_OBJECT DriverObject, IN PDEVICE_OBJECT Pdo) |
| NTSTATUS | CdRomOpenClose (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) |
| NTSTATUS | CdRomReadWriteVerification (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) |
| NTSTATUS | CdRomSwitchMode (IN PDEVICE_OBJECT DeviceObject, IN ULONG SectorSize, IN PIRP OriginalRequest) |
| NTSTATUS | CdRomDeviceControlDispatch (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) |
| NTSTATUS | CdRomDeviceControlCompletion (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context) |
| NTSTATUS | CdRomSetVolumeIntermediateCompletion (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context) |
| NTSTATUS | CdRomSwitchModeCompletion (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context) |
| NTSTATUS | CdRomXACompletion (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context) |
| NTSTATUS | CdRomClassIoctlCompletion (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context) |
| VOID | CdRomStartIo (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) |
| VOID | CdRomTickHandler (IN PDEVICE_OBJECT DeviceObject) |
| NTSTATUS | CdRomUpdateCapacity (IN PFUNCTIONAL_DEVICE_EXTENSION DeviceExtension, IN PIRP IrpToComplete, IN OPTIONAL PKEVENT IoctlEvent) |
| NTSTATUS | CdRomCreateDeviceObject (IN PDRIVER_OBJECT DriverObject, IN PDEVICE_OBJECT Pdo) |
| VOID | ScanForSpecialHandler (PFUNCTIONAL_DEVICE_EXTENSION FdoExtension, ULONG_PTR HackFlags) |
| VOID | ScanForSpecial (PDEVICE_OBJECT DeviceObject) |
| BOOLEAN | CdRomIsPlayActive (IN PDEVICE_OBJECT DeviceObject) |
| VOID | CdRomErrorHandler (PDEVICE_OBJECT DeviceObject, PSCSI_REQUEST_BLOCK Srb, NTSTATUS *Status, BOOLEAN *Retry) |
| VOID | HitachiProcessErrorGD2000 (PDEVICE_OBJECT DeviceObject, PSCSI_REQUEST_BLOCK Srb, NTSTATUS *Status, BOOLEAN *Retry) |
| VOID | HitachiProcessError (PDEVICE_OBJECT DeviceObject, PSCSI_REQUEST_BLOCK Srb, NTSTATUS *Status, BOOLEAN *Retry) |
| VOID | ToshibaProcessError (PDEVICE_OBJECT DeviceObject, PSCSI_REQUEST_BLOCK Srb, NTSTATUS *Status, BOOLEAN *Retry) |
| NTSTATUS | ToshibaProcessErrorCompletion (PDEVICE_OBJECT DeviceObject, PIRP Irp, PVOID Context) |
| VOID | CdRomCreateNamedEvent (IN PFUNCTIONAL_DEVICE_EXTENSION DeviceExtension, IN ULONG DeviceNumber) |
| NTSTATUS | CdRomInitDevice (IN PDEVICE_OBJECT Fdo) |
| NTSTATUS | CdRomStartDevice (IN PDEVICE_OBJECT Fdo) |
| NTSTATUS | CdRomStopDevice (IN PDEVICE_OBJECT DeviceObject, IN UCHAR Type) |
| NTSTATUS | CdRomRemoveDevice (IN PDEVICE_OBJECT DeviceObject, IN UCHAR Type) |
| NTSTATUS | CdRomDvdEndAllSessionsCompletion (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context) |
| NTSTATUS | CdRomDvdReadDiskKeyCompletion (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context) |
| DEVICE_TYPE | CdRomGetDeviceType (IN PDEVICE_OBJECT DeviceObject) |
| NTSTATUS | CdRomCreateWellKnownName (IN PDEVICE_OBJECT DeviceObject) |
| VOID | CdRomDeleteWellKnownName (IN PDEVICE_OBJECT DeviceObject) |
| NTSTATUS | CdRomGetDeviceParameter (IN PDEVICE_OBJECT DeviceObject, IN PWSTR ParameterName, IN OUT PULONG ParameterValue) |
| NTSTATUS | CdRomSetDeviceParameter (IN PDEVICE_OBJECT DeviceObject, IN PWSTR ParameterName, IN ULONG ParameterValue) |
| VOID | CdRomPickDvdRegion (IN PDEVICE_OBJECT Fdo) |
| NTSTATUS | CdRomRetryRequest (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension, IN PIRP Irp, IN ULONG Delay, IN BOOLEAN ResendIrp) |
| NTSTATUS | CdRomRerunRequest (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension, IN OPTIONAL PIRP Irp, IN BOOLEAN ResendIrp) |
| NTSTATUS | CdRomGetRpc0Settings (IN PDEVICE_OBJECT Fdo) |
| NTSTATUS | CdRomSetRpc0Settings (IN PDEVICE_OBJECT Fdo, IN UCHAR NewRegion) |
| NTSTATUS | CdRomShutdownFlush (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) |
| VOID | CdRomIsDeviceMmcDevice (IN PDEVICE_OBJECT Fdo, OUT PBOOLEAN IsMmc) |
| VOID NTAPI | CdRomMmcErrorHandler (IN PDEVICE_OBJECT Fdo, IN PSCSI_REQUEST_BLOCK Srb, OUT PNTSTATUS Status, OUT PBOOLEAN Retry) |
| PVOID | CdRomFindFeaturePage (IN PGET_CONFIGURATION_HEADER FeatureBuffer, IN ULONG Length, IN FEATURE_NUMBER Feature) |
| NTSTATUS | CdRomGetConfiguration (IN PDEVICE_OBJECT Fdo, OUT PGET_CONFIGURATION_HEADER *Buffer, OUT PULONG BytesReturned, IN FEATURE_NUMBER StartingFeature, IN ULONG RequestedType) |
| VOID | CdRomUpdateMmcDriveCapabilities (IN PDEVICE_OBJECT Fdo, IN PVOID Context) |
| VOID | CdRomFindProfileInProfiles (IN PFEATURE_DATA_PROFILE_LIST ProfileHeader, IN FEATURE_PROFILE_TYPE ProfileToFind, OUT PBOOLEAN Exists) |
| NTSTATUS | CdRomAllocateMmcResources (IN PDEVICE_OBJECT Fdo) |
| VOID | CdRomDeAllocateMmcResources (IN PDEVICE_OBJECT Fdo) |
| VOID | CdromFakePartitionInfo (IN PCOMMON_DEVICE_EXTENSION CommonExtension, IN PIRP Irp) |
| VOID | CdRomInterpretReadCapacity (IN PDEVICE_OBJECT Fdo, IN PREAD_CAPACITY_DATA ReadCapacityBuffer) |
| NTSTATUS | CdRomShutdownFlushCompletion (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PIRP Context) |
| VOID | CdRompFlushDelayedList (IN PDEVICE_OBJECT Fdo, IN PCDROM_MMC_EXTENSION MmcData, IN NTSTATUS Status, IN BOOLEAN CalledFromWorkItem) |
Variables |
| CLASSPNP_SCAN_FOR_SPECIAL_INFO | CdromHackItems [] |