1394 总线驱动程序为设备构造以下标识符:
1394\VendorName&ModelName
1394\UnitSpecId&UnitSwVersion
Where:
VendorName is the name of the hardware vendor.
ModelName identifies the device.
UnitSpecId identifies the software specification authority.
UnitSwVersion identifies the software specification.
用于构造这些标识符的信息来自设备的配置 ROM。
如果设备具有供应商和型号名称字符串,则 1394 总线驱动程序将第一个标识符用作设备 ID 和硬件 ID,第二个标识符用作兼容 ID。 如果设备缺少供应商或模型名称字符串,则总线驱动程序将第二个标识符用作设备 ID 和兼容 ID,如果查询硬件 ID,则返回双 null。 因此,在某些情况下,IEEE1394总线驱动程序提供设备 ID,但没有硬件 ID。 这是设备 ID 是硬件 ID 之一的常规规则的例外。
IEEE1394上的相机的设备 ID 可能是:
1394\SONY&CCM-DS250_1.08
多功能设备为设备配置 ROM 中的每个单元目录都有一组单独的标识符。
如果设备的函数驱动程序位于 SBP-2 端口驱动程序的顶部,则其设备 ID 具有以下格式。
SBP2\VendorName&ModelName&LUNn*
Where:
VendorName is the hardware vendor.
ModelName identifies the device.
n* is a string representing the lower-order 2 bytes of the logical unit number in hexadecimal. 多功能设备上的各种功能会生成除此数字以外的相同设备 ID。
SBP-2 1394 硬盘的设备 ID 可能如下所示:
SBP2\VST_TECHNOLOGIESINC.&VST_FULL_HEIGHT_FIREWIRE_DRIVE&LUN0
与 1394 总线一样,SBP2 端口驱动程序不会将设备 ID 分类为硬件 ID。 但是,虽然 1394 总线区分硬件 ID 和兼容的 ID,但 SBP2 端口驱动程序不会。 For IRP_MN_QUERY_ID IRPs of type BusQueryHardwareIDs and IRP_MN_QUERY_ID IRPs of type BusQueryCompatibleIDs SBP2 returns the same set of four identifiers:
SBP2\VendorName&ModelName&CmdSetIdn*
SBP2\Gen
Gen
SBP2\n*&d*
Where:
n* is the Command Set ID number.
Gen is one of the generic names that are listed in the Generic Type column of the following table.
d* is a number formed by taking the lower five bits of the upper two bytes of the logical unit number. This number is the numeric code for the generic name of the device that corresponds to the Gen string identifier.
The fourth ID, listed in the previous example (SBP2\n*&d*), is unique among all the SBP2 hardware identifiers in that both n*, the Command Set ID number and d*, the numeric code of the generic name are in decimal, not hexadecimal.
下表列出了 SBP2 端口驱动程序返回的通用设备名称。 SBP2 端口驱动程序生成的泛型名称的大多数(但不是全部)都是 SCSI 端口驱动程序生成的泛型名称的子集。
| 1394 类型代码 | Device Type | Generic Type |
|---|---|---|
RBC_DEVICE或DIRECT_ACCESS_DEVICE (0) |
Disk |
GenDisk |
SEQUENTIAL_ACCESS_DEVICE (1) |
Sequential |
GenSequential |
PRINTER_DEVICE (2) |
Printer |
GenPrinter |
WRITE_ONCE_READ_MULTIPLE_DEVICE (4) |
Worm |
GenWorm |
READ_ONLY_DIRECT_ACCESS_DEVICE (5) |
CdRom |
GenCdRom |
SCANNER_DEVICE (6) |
Scanner |
GenScanner |
OPTICAL_DEVICE (7) |
Optical |
GenOptical |
MEDIUM_CHANGER (8) |
Changer |
GenChanger |
默认类型(上面未列出的所有值) |
Other |
GenSbp2Device |