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


Идентификаторы для устройств 1394

Драйвер шины 1394 создает следующие идентификаторы для устройства:

1394\VendorName&ModelName

1394\UnitSpecId&UnitSwVersion

Где:

  • VendorName — это имя поставщика оборудования.

  • ModelName идентифицирует устройство.

  • UnitSpecId определяет центр спецификации программного обеспечения.

  • UnitSwVersion определяет спецификацию программного обеспечения.

Сведения, используемые для создания этих идентификаторов, поступают из ПЗУ конфигурации устройства.

Если у устройства есть строки имени поставщика и модели, драйвер шины 1394 использует первый идентификатор в качестве идентификатора, идентификатор устройства и идентификатор оборудования, а второй идентификатор — в качестве совместимого идентификатора. Если на устройстве отсутствует строка имени поставщика или модели, драйвер шины использует второй идентификатор в качестве идентификатора устройства и совместимого идентификатора и возвращает двойное значение NULL, если запрашивается идентификатор оборудования. Таким образом, драйвер IEEE1394 шины при определенных обстоятельствах предоставляет идентификатор устройства, но не идентификатор оборудования. Это исключение из общего правила, согласно которому идентификатор устройства является одним из идентификаторов оборудования.

Идентификатор устройства для камеры на IEEE1394 может быть следующим:

1394\SONY&CCM-DS250_1.08

Многофункциональные устройства имеют отдельный набор идентификаторов для каждого каталога единиц в ПЗУ конфигурации устройства.

Если драйвер функции устройства находится поверх драйвера порта SBP-2, то его идентификатор устройства имеет следующий формат.

SBP2\VendorName&ModelName&LUNn*

Где:

  • VendorName — это поставщик оборудования.

  • ModelName идентифицирует устройство.

  • n* — это строка, представляющая 2 байта логического номера единицы в шестнадцатеричном порядке. Различные функции на многофункциональном устройстве создают идентификаторы устройств, которые идентичны, за исключением этого числа.

Идентификатор устройства для жесткого диска SBP-2 1394 может быть следующим:

SBP2\VST_TECHNOLOGIESINC.&VST_FULL_HEIGHT_FIREWIRE_DRIVE&LUN0

Как и в случае с шиной 1394, драйвер порта SBP2 не классифицирует идентификатор устройства как идентификатор оборудования. Однако в то время как шина 1394 различает идентификаторы оборудования и совместимые идентификаторы, драйвер порта SBP2 — нет. Для IRP_MN_QUERY_ID IRP типа BusQueryHardwareIDs и IRP_MN_QUERY_ID IRP типа BusQueryCompatibleIDs SBP2 возвращает один и тот же набор из четырех идентификаторов:

SBP2\VendorName&ModelName&CmdSetIdn*

SBP2\Gen

Поколение

SBP2\n*&d*

Где:

  • n* — идентификатор набора команд.

  • Gen — это одно из универсальных имен, перечисленных в столбце Универсальный тип следующей таблицы.

  • d* — это число, сформированное путем принятия нижних пяти битов двух верхних байтов логического номера единицы. Это число является числовым кодом для универсального имени устройства, соответствующего строковому идентификатору gen .

Четвертый идентификатор, указанный в предыдущем примере (SBP2\n*&d*), уникален среди всех идентификаторов оборудования SBP2, так как n*, идентификатор набора команд и d*, числовой код универсального имени содержит десятичный, а не шестнадцатеричный.

В этой таблице перечислены универсальные имена устройств, возвращаемые драйвером порта SBP2. Большинство( но не все) универсальных имен, создаваемых драйвером порта SBP2, являются подмножеством имен, созданных драйвером порта SCSI.

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

RBC_DEVICE или DIRECT_ACCESS_DEVICE (0)

Диск

GenDisk

SEQUENTIAL_ACCESS_DEVICE (1)

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

GenSequential

PRINTER_DEVICE (2)

Принтерный

GenPrinter

WRITE_ONCE_READ_MULTIPLE_DEVICE (4)

Вирус-червь

GenWorm

READ_ONLY_DIRECT_ACCESS_DEVICE (5)

Cdrom

GenCdRom

SCANNER_DEVICE (6)

Сканер

GenScanner

OPTICAL_DEVICE (7)

Оптический

GenOptical

MEDIUM_CHANGER (8)

Смены

GenChanger

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

Другое

GenSbp2Device