1394 裝置的標識碼
1394 總線驅動程式會建構裝置的這些標識碼:
1394\VendorName&ModelName
1394\UnitSpecId&UnitSwVersion
其中:
VendorName 是硬體廠商的名稱。
ModelName 會識別裝置。
UnitSpecId 會識別軟體規格授權單位。
UnitSwVersion 會識別軟體規格。
用來建構這些標識子的資訊來自裝置的組態 ROM。
如果裝置有廠商和型號名稱字串,則 1394 總線驅動程式會使用第一個標識碼作為兩者、裝置標識碼和硬體標識元,以及第二個標識碼作為相容的標識碼。 如果裝置缺少廠商或模型名稱字串,則總線驅動程式會使用第二個標識碼作為裝置標識碼和相容標識符,並在查詢硬體識別符時傳回 double null。 因此,在某些情況下,IEEE1394總線驅動程式會提供裝置標識碼,但沒有硬體標識碼。 這是裝置標識碼是其中一個硬體標識碼的一般規則例外。
IEEE1394上相機的裝置識別碼可能是:
1394\&CCM-DS250_1.08
多功能裝置針對裝置組態 ROM 中的每個單位目錄,都有一組個別的標識碼。
如果裝置的函式驅動程式位於 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 埠驅動程式不會。 針對 BusQueryHardwareID 類型的 IRP_MN_QUERY_ID IRP,以及 BusQueryCompatibleIDs SBP2 類型的 IRP_MN_QUERY_ID IRP 會傳回相同一組四個標識符:
SBP2\VendorName&ModelName&CmdSetIdn*
SBP2\Gen
世代
SBP2\n*&d*
其中:
n* 是命令集識別碼。
Gen 是下表的 [泛型類型] 資料行中列出的其中一個泛型名稱。
d* 是採用邏輯單元編號上兩個字節下五個位所構成的數位。 此數位是對應至 Gen 字串識別碼之裝置之泛型名稱的數值代碼。
上一個範例中所列的第四個標識符, (SBP2\n*&d*) ,在 n*、命令集標識符號碼和 d* 的所有 SBP2 硬體標識符之間都是唯一的,泛型名稱的數值代碼為十進位,而不是十六進位。
下表列出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 |