Windows Driver Kit: Device Installation
Identifiers for SCSI Devices

The device ID format for a small computer system interface (SCSI) device is as follows:

SCSI\t*v(8)p(16)r(4)

Where:

  • t* is a device type code of variable length.

  • v(8) is an 8-character vendor identifier.

  • p(16) is a 16-character product identifier.

  • r(4) is a 4-character revision level value.

The bus enumerator determines the device type by indexing an internal string table, using a numerically encoded SCSI device type code, obtained by querying the device, as shown in the following table. The remaining components are just strings returned by the device, but with special characters (including space, comma, and any nonprinting graphic) replaced with an underscore.

The SCSI Port driver currently returns the following device type strings, the first nine of which correspond to standard SCSI type codes.

SCSI Type CodeDevice TypeGeneric TypePeripheral ID
DIRECT_ACCESS_DEVICE (0)DiskGenDiskDiskPeripheral
SEQUENTIAL_ACCESS_DEVICE (1)SequentialTapePeripheral
PRINTER_DEVICE (2)PrinterGenPrinterPrinterPeripheral
PROCESSOR_DEVICE (3)ProcessorOtherPeripheral
WRITE_ONCE_READ_MULTIPLE_DEVICE (4)WormGenWormWormPeripheral
READ_ONLY_DIRECT_ACCESS_DEVICE (5)CdRomGenCdRomCdRomPeripheral
SCANNER_DEVICE (6)ScannerGenScannerScannerPeripheral
OPTICAL_DEVICE (7)OpticalGenOpticalOpticalDiskPeripheral
MEDIUM_CHANGER (8)ChangerScsiChangerMediumChangerPeripheral
COMMUNICATION_DEVICE (9)NetScsiNetCommunicationsPeripheral
10ASCIT8ScsiASCIT8ASCPrePressGraphicsPeripheral
11ASCIT8ScsiASCIT8ASCPrePressGraphicsPeripheral
12ArrayScsiArrayArrayPeripheral
13EnclosureScsiEnclosureEnclosurePeripheral
14RBCScsiRBCRBCPeripheral
15CardReaderScsiCardReaderCardReaderPeripheral
16BridgeScsiBridgeBridgePeripheral
17OtherScsiOtherOtherPeripheral

An example of a device ID for a disk drive would be as follows:

SCSI\DiskSEAGATE_ST39102LW_______0004

There are four hardware IDs in addition to the device ID:

SCSI\t*v(8)p(16)
SCSI\t*v(8)
SCSI\v(8)p(16)r(1)
V(8)p(16)r(1)

In the third and fourth of these additional identifiers, r(1) represents just the first character of the revision identifier. These hardware IDs are illustrated by the following examples:

SCSI\DiskSEAGATE_ST39102LW_______
SCSI\DiskSEAGATE_
SCSI\DiskSEAGATE_ST39102LW_______0
SEAGATE_ST39102LW_______0

The SCSI Port driver supplies only one compatible ID, one of the variable-sized generic type codes from the previous table.

For example, the compatible ID for a disk drive is as follows:

GenDisk

The generic identifier is used in INF files for SCSI devices more than any other, because SCSI drivers are typically generic. Be aware that the SCSI Port driver returns no generic name at all for sequential access and "processor" devices.


Send feedback on this topic
Built on November 19, 2009
Page view tracker