1394 设备的标识符

1394 总线驱动程序为设备构造以下标识符:

1394\VendorNameModelName&

1394\UnitSpecIdUnitSwVersion&

其中:

  • VendorName 是硬件供应商的名称。

  • ModelName 标识设备。

  • UnitSpecId 标识软件规范颁发机构。

  • UnitSwVersion 标识软件规范。

用于构造这些标识符的信息来自设备的配置 ROM。

如果设备具有供应商和型号名称字符串,则 1394 总线驱动程序使用第一个标识符作为两者,使用设备 ID 和硬件 ID,将第二个标识符用作兼容的 ID。 如果设备缺少供应商或模型名称字符串,则总线驱动程序使用第二个标识符作为设备 ID 和兼容 ID,如果查询硬件 ID,则返回双 null。 因此,在某些情况下,IEEE1394 总线驱动程序提供设备 ID,但没有硬件 ID。 这是设备 ID 是硬件 ID 之一的一般规则的例外。

IEEE1394 上照相机的设备 ID 可能是:

1394\中/DS250_1.08&

多功能设备在设备的配置 ROM 中每个单元目录都有一组单独的标识符。

如果设备的功能驱动程序位于 SBP-2 端口驱动程序的顶部,则其设备 ID 采用以下格式。

SBP2\VendorNameModelNameLUNn&&*

其中:

  • VendorName 是硬件供应商。

  • ModelName 标识设备。

  • n* 是一个字符串,表示十六进制逻辑单元数的低序 2 字节。 多功能设备上的各种功能可生成除此数字以外的相同设备 ID。

SBP-2 1394 硬盘的设备 ID 可能如下所示:

SBP2\VST_TECHNOLOGIESINC。&&VST_FULL_HEIGHT_FIREWIRE_DRIVE LUN0

与 1394 总线一样,SBP2 端口驱动程序不会将设备 ID 分类为硬件 ID。 但是,尽管 1394 总线区分硬件 D 和兼容的 ID,但 SBP2 端口驱动程序不会区分。 对于IRP_MN_QUERY_ID类型 BusQueryHardwareIDsIRP_MN_QUERY_ID IRP 的类型为 BusQueryCompatibleIDs SBP2 的 4 个 IP 返回相同的四个标识符集:

SBP2\VendorNameModelNameCmdSetIdn&&*

SBP2\Gen

代系

SBP2\n*&d*

其中:

  • n* 是命令集 ID 号。

  • Gen 是下表的"泛型类型"列中列出的泛型名称之一。

  • d* 是采用逻辑单元数的两个字节中大两个字节的低五位构成的数量。 此数字是设备的通用名称的数值代码,对应于 Gen 字符串标识符。

上一个示例 (SBP2\n*&d*) 中列出的第四个 ID 在所有 SBP2 硬件标识符中是唯一的,因为 n*、命令集 ID 号和 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