Device
|
Layer no.
|
Layer type
|
AEP_CONFIG_DCB Call down insertion qualifications (tested in the order shown)
|
VOLTRACK.VXD
|
5
|
DRP_
VOLTRK_
BIT
| -
Ignores if !(DCB_device_flags & DCB_DEV_REMOVABLE)
-
Hooks if DCB_device_type is DCB_type_floppy
-
Ignores if !(DCB_device_flags & DCB_DEV_LOGICAL)
-
Hooks if DCB_device_type is DCB_type_disk or DCB_type_cdrom.
|
CDTSD.VXD
|
6
|
DRP_
CLASS_ DRV_BIT
| -
Ignore if not (DCB_device_type == DCB_type_cdrom).
-
Ignore if any of the following DCB_dmd_flags bits are set: (DCB_dmd_srb_cdb+DCB_dmd_rsrv_1+DCB_dmd_rsrv_2).
|
DISKTSD.VXD
|
7
|
DRP_TSD_
BIT
| -
Ignore if a logical DCB or if handled by rmm (if DCB_device_flags & (DCB_dev_logical | DCB_dev_rmm))
-
Ignore if not a disk (DCB_device_type != DCB_type_disk)
-
Ignore if not a floppy (DCB_device_type != DCB_type_floppy)
-
Ignore if any of the following DCB_dmd_flags bits are set: (DCB_dmd_srb_cdb+DCB_dmd_rsrv_1+DCB_dmd_rsrv_2).
|
APIX.VXD
|
11
|
DRP_SCSI_ LAYER_BIT
| -
Ignore if not a physical DCB
(!(DCB_device_flags & DCB_dev_physical))
-
Ignore if device doesn’t use the SCSI bus
(DCB_Bus_Type != DCB_Bus_SCSI)
|
CDVSD.VXD
|
13
|
DRP_VSD_5_ BIT
| -
Ignore if a logical DCB or if handled by rmm (if DCB_device_flags & (DCB_dev_logical | DCB_dev_rmm))
-
Ignore if device doesn’t use the SCSI bus
(DCB_Bus_Type != DCB_Bus_SCSI)
-
Ignore if not a CD-ROM (DCB_device_type != DCB_Type_CDROM)
-
Accept if device has been forced to use protected mode code or it is safe to use protected mode code. Ignore if MSCDEX is installed.
|
NECATAPI.VXD
|
14
|
DRP_VSD_6_ BIT
| -
Ignore if a logical DCB or if handled by rmm (if DCB_device_flags & (DCB_dev_logical | DCB_dev_rmm))
-
Ignore if device doesn’t use the SCSI bus
(DCB_Bus_Type != DCB_Bus_SCSI)
-
Ignore if not a CD-ROM (DCB_device_type != DCB_Type_CDROM)
-
(This VxD tweaks the CDB if the target device is an NEC ATAPI device).
|
DISKVSD.VXD
|
16
|
DRP_VSD_8_ BIT
| -
Ignore if a logical DCB or if handled by rmm (if DCB_device_flags & (DCB_dev_logical | DCB_dev_rmm))
-
Ignore if device doesn’t use the SCSI bus
(DCB_Bus_Type != DCB_Bus_SCSI)
-
Ignore if not a disk (DCB_device_type != DCB_Type_disk)
-
Accept if !(DCB_inquiry_flags.INQ_dev_type_mod & INQ_mod_removable).
-
Otherwise, conditionally accept depending on manufacturer ID (Insite or IOMEGA floptical).
|
ATAPCHNG.VXD
|
16
|
DRP_VSD_8_ BIT
| -
Ignore if a logical DCB or if handled by rmm (if DCB_device_flags & (DCB_dev_logical | DCB_dev_rmm))
-
Ignore if neither DCB_port_name == IDEATAPI, or DCB_device_flags2 == DCB_DEV2_ATAPI_DEVICE
-
Ignore if not SCSI (DCB_Bus_Type != DCB_Bus_SCSI)
-
Ignore if not CD-ROM (DCB_Device_Type!=DCB_Type_CDROM)
-
Ignore if LUN=0 (if non zero, it’s a drive the atapi changer created)
-
Issue a sense command to the CDROM to identify whether it is a changer; ignore if it isn’t.
-
Otherwise take over the CDROM device.
|
SCSI1HLP.VXD
|
15
|
DRP_VSD_7_ BIT
| -
Ignore if a logical DCB or if handled by rmm (if DCB_device_flags & (DCB_dev_logical | DCB_dev_rmm))
-
Ignore if device doesn’t use the SCSI bus
(DCB_Bus_Type != DCB_Bus_SCSI)
-
Ignore if not a CDROM (DCB_device_type != DCB_Type_CDROM)
-
Check the dead_drive_table list. If in the list, and within the revision range specified, set DCB_cd_device_flags |= DCB_CD_FAKE_SCSI1. This will force a “bad” drive to use scsi1 behavior.
-
Check the mfg_id_table. If in the table, or if the ANSI version field indicates it is a generic SCSI1 device ((DCB_inquiry_flags[2] & 0000111) < 2), accept it (take over the device).
-
Note that when this driver intercepts requests, it will ignore IOR_SCSI_PASS_THROUGH IOP’s.
|
SMARTVSD.VXD
|
17
|
DRP_VSD_9_ BIT
| -
Ignore if a logical DCB or if handled by rmm (if DCB_device_flags & (DCB_dev_logical | DCB_dev_rmm))
-
Accept if (DCB_bus_type == DCB_BUS_ESDI) && (DCB_device_type == DCB_type_disk)), or if (DCB_device_flags2 & DCB_DEV2_ATAPI_DEVICE)
-
Note that this VxD doesn’t “hook” into the calldown chain. It serves as a ring 3 interface (DeviceIoControl).
|
SCSIPORT.PDR
|
21
|
DRP_NT_PD_ BIT
|
(No qualifications needed – this is a port driver)
|
ESDI_506.PDR
|
22
|
DRP_ESDI_PD_BIT
|
(No qualifications needed – this is a port driver)
|
HSFLOP.PDR
|
27
|
DRP_NEC_ FLOPPY_BIT
|
(No qualifications needed – this is a port driver)
|
RMM.PDR
|
30
|
DRP_SOC_ DRV_BIT
|
(No qualifications needed – this is a port driver)
|