Udostępnij przez


Identyfikatory generowane przez USBSTOR.SYS

Począwszy od systemu Windows 2000, system operacyjny zapewnia natywną obsługę wielu urządzeń pamięci masowej USB. The Usbstor.inf installation file contains device IDs for those devices that are explicitly supported. If the USB hub driver enumerates one of these devices, the operating system will automatically load the USB storage port driver, Usbstor.sys.

The device IDs for USB mass storage devices in Usbstor.inf take the usual form for USB device IDs composed by using information in the USB device's device descriptor:

USB\VID_v(4)&PID_d(4)&REV_r(4)

Where:

  • v(4) is the 4-digit vendor code that the USB committee assigns to the vendor.

  • d(4) is the 4-digit product code that the vendor assigns to the device.

  • r(4) is the revision code.

In addition to these device IDs, Usbstor.inf contains compatible IDs for class 8 ATAPI CD-ROM and removable media devices that support bulk-only transport:

USB\CLASS_08&SUBCLASS_02&PROT_50

USB\CLASS_08&SUBCLASS_05&PROT_50

USB\CLASS_08&SUBCLASS_06&PROT_50

Where:

  • klasa 08h = urządzenia pamięci masowej.

  • podklasa 02h = urządzenia CD-ROM SFF-8020i ATAPI.

  • podklasa 05h = nośnik wymienny SFF-8070i ATAPI.

  • podklasa 06h = ogólne nośniki SCSI.

  • protokół 50h = protokół transportowy tylko zbiorczo.

If the data retrieved from the device's device descriptor matches any of these compatible IDs, the operating system will load Usbstor.sys.

Po załadowaniu sterownik portu magazynu USB tworzy nowy obiekt PDO dla każdej jednostki logicznej urządzenia. For more information, see the example device stack created by Usbstor.sys illustrated in Device Object Example for a USB Mass Storage Device.

Gdy menedżer PnP wysyła zapytanie o ciągi identyfikacji urządzenia nowo utworzonych obiektów PDO, sterownik portu magazynu USB tworzy nowy zestaw identyfikatorów urządzeń, sprzętu i zgodnych identyfikatorów pochodzących z danych SCSI urządzenia. Format identyfikatora urządzenia jest następujący:

USBSTOR\v(8)p(16)r(4)

Where:

  • 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.

Przykład identyfikatora urządzenia dla dysku będzie następujący:

USBSTOR\SEAGATE_ST39102LW_______0004

Identyfikatory sprzętowe generowane przez sterownik portu magazynu USB są następujące:

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

USBSTOR\t*v(8)p(16)

USBSTOR\t*v(8)

USBSTOR\v(8)p(16)r(1)

v(8)p(16)r(1)

USBSTOR\GenericTypeString

GenericTypeString

Where:

  • t* is a SCSI 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. In these additional identifiers, r(1) represents just the first character of the revision identifier.

Poniższa tabela zawiera kody typów urządzeń SCSI używane przez sterownik portu magazynu USB do generowania ciągów identyfikatorów.

Kod typu SCSI Device type Generic type

DIRECT_ACCESS_DEVICE (0)

Dysk lub plik SFloppy

GenDisk lub GenSFloppy

SEQUENTIAL_ACCESS_DEVICE (1)

Sequential

GenSequential

WRITE_ONCE_READ_MULTIPLE_DEVICE (4)

Worm

GenWorm

READ_ONLY_DIRECT_ACCESS_DEVICE (5)

CdRom

GenCdRom

OPTICAL_DEVICE (7)

Optical

GenOptical

MEDIUM_CHANGER (8)

Changer

GenChanger

Typ domyślny (wszystkie wartości, które nie zostały wymienione wcześniej)

Other

UsbstorOther

W poniższych przykładach pokazano identyfikatory sprzętowe generowane przez sterownik portu magazynu USB:

USBSTOR\DiskSEAGATE_ST39102LW_______0004

USBSTOR\DiskSEAGATE_ST39102LW_______

USBSTOR\DiskSEAGATE_

USBSTOR\SEAGATE_ST39102LW_______0

SEAGATE_ST39102LW_______0

USBSTOR\GenDisk

GenDisk

Sterownik portu magazynu USB generuje dwa zgodne identyfikatory.

USBSTOR\t*

USBSTOR\RAW

where t* is a SCSI device type code of variable length.

Identyfikatory zgodne wygenerowane przez sterownik portu magazynu USB są ilustrowane przez następujące przykłady:

USBSTOR\Disk

USBSTOR\RAW