Поделиться через


Идентификаторы, созданные USBSTOR.SYS

Начиная с Windows 2000 операционная система обеспечивает встроенную поддержку многих запоминающих устройств USB. Файл установки Usbstor.inf содержит идентификаторы устройств, которые явно поддерживаются. Если драйвер USB-концентратора перечисляет одно из этих устройств, операционная система автоматически загрузит драйвер порта USB-хранилища ,Usbstor.sys.

Идентификаторы устройств для запоминающих устройств USB в файле Usbstor.inf принимают обычную форму для идентификаторов USB-устройств, состоящих с использованием сведений в дескрипторов устройства USB:

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

Где:

  • v(4) — это 4-значный код поставщика, который комитет USB назначает поставщику.

  • d(4) — это 4-значный код продукта, который поставщик назначает устройству.

  • r(4) — это код редакции.

В дополнение к этим идентификаторам устройств usbstor.inf содержит совместимые идентификаторы для CD-ROM класса 8 ATAPI и съемных носителей, поддерживающих массовый транспорт:

USB\CLASS_08&SUBCLASS_02&PROT_50

USB\CLASS_08&SUBCLASS_05&PROT_50

USB\CLASS_08&SUBCLASS_06&PROT_50

Где:

  • class 08h = запоминающих устройств.

  • подкласс 02h = устройства SFF-8020i ATAPI CD-ROM.

  • подкласс 05h = съемный носитель SFF-8070i ATAPI.

  • подкласс 06h = универсальный носитель SCSI.

  • protocol 50h = транспортный протокол, доступный только для массовых операций.

Если данные, полученные из дескриптора устройства, соответствуют любому из этих совместимых идентификаторов, операционная система загрузит Usbstor.sys.

После загрузки драйвер порта USB-хранилища создает новое PDO для каждой логической единицы устройства. Дополнительные сведения см. в примере стека устройств, созданногоUsbstor.sys показан в разделе Device Object Example for a USB Mass Storage Device (Пример объекта устройства для запоминающих устройств USB).

Когда диспетчер PnP запрашивает строки идентификации устройств вновь созданных PDO, драйвер порта USB-хранилища создает новый набор устройств, оборудования и совместимых идентификаторов, полученных из данных запроса SCSI устройства. Формат идентификатора устройства выглядит следующим образом:

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

Где:

  • v(8) — это идентификатор поставщика из 8 символов.

  • p(16) — это идентификатор продукта из 16 символов.

  • r(4) — это 4-символьное значение уровня редакции.

Ниже приведен пример идентификатора устройства для диска.

USBSTOR\SEAGATE_ST39102LW_______0004

Ниже приведены идентификаторы оборудования, создаваемые драйвером порта USB-хранилища.

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

Где:

  • t* — это код типа устройства SCSI переменной длины.

  • v(8) — это идентификатор поставщика из 8 символов.

  • p(16) — это идентификатор продукта из 16 символов.

  • r(4) — это 4-символьное значение уровня редакции. В этих дополнительных идентификаторах r(1) представляет только первый символ идентификатора редакции.

В следующей таблице содержатся коды типов устройств SCSI, используемые драйвером порта USB-хранилища для создания строк идентификаторов.

Код типа SCSI Тип устройства Универсальный тип

DIRECT_ACCESS_DEVICE (0)

Диск или SFloppy

GenDisk или GenSFloppy

SEQUENTIAL_ACCESS_DEVICE (1)

Последовательные

GenSequential

WRITE_ONCE_READ_MULTIPLE_DEVICE (4)

Вирус-червь

GenWorm

READ_ONLY_DIRECT_ACCESS_DEVICE (5)

Cdrom

GenCdRom

OPTICAL_DEVICE (7)

Оптический

GenOptical

MEDIUM_CHANGER (8)

Смены

GenChanger

Тип по умолчанию (все значения, не перечисленные ранее)

Другое

UsbstorOther

В этих примерах показаны идентификаторы оборудования, созданные драйвером порта USB-хранилища:

USBSTOR\DiskSEAGATE_ST39102LW_______0004

USBSTOR\DiskSEAGATE_ST39102LW_______

USBSTOR\DiskSEAGATE_

USBSTOR\SEAGATE_ST39102LW_______0

SEAGATE_ST39102LW_______0

USBSTOR\GenDisk

GenDisk

Драйвер порта USB-хранилища создает два совместимых идентификатора.

USBSTOR\t*

USBSTOR\RAW

где t* — это код типа устройства SCSI переменной длины.

Совместимые идентификаторы, созданные драйвером порта USB-хранилища, показаны в следующих примерах:

USBSTOR\Disk

USBSTOR\RAW