標準USB標識碼
為 USB 裝置產生的標識碼集取決於裝置是單一介面裝置還是多介面裝置。
Single-Interface USB 裝置
當插入新的 USB 裝置時,系統提供的 USB 中樞驅動程式會使用從裝置裝置 描述項擷取的資訊來撰寫下列裝置識別碼:
USB\VID_v (4) &PID_d (4) &REV_r (4)
其中:
v (4) 是 USB 委員會指派給廠商的廠商代碼。
d (4) 是廠商指派給裝置的產品代碼。
r (4) 是修訂程式代碼。
中樞驅動程式會分別從裝置描述元的idVendor、idProduct和 bcdDevice 字段擷取廠商和產品代碼。 這些是4位數的十六進位數位。
INF 模型區段也可以指定下列硬體識別碼:
USB\VID_v (4) &PID_d (4)
和下列相容的識別碼:
USB\CLASS_c (2) &SUBCLASS_s (2) &PROT_p (2)
USB\CLASS_c (2) &SUBCLASS_s (2)
USB\CLASS_c (2)
其中:
c (2) 是取自 裝置描述元的裝置類別程序代碼。
s (2) 是裝置子類別代碼。
p (2) 是通訊協定程式代碼。
裝置類別程式代碼、子類別代碼和通訊協定程序代碼是由裝置描述元的 bDeviceClass、bDeviceSubClass 和 bDeviceProtocol 欄位決定。 這些是2位數的十六進位數位。
Multiple-Interface USB 裝置
具有多個介面的裝置稱為 複合 裝置。 從 Windows 2000 開始,當新的 USB 複合裝置 插入計算機時,USB 中樞驅動程式會建立實體裝置物件 (PDO) ,並通知作業系統其子裝置集已變更。 查詢與新 PDO 相關聯之硬體識別碼的中樞驅動程序之後,操作系統會搜尋適當的 INF 檔案,以尋找標識符的相符專案。 如果找到 USB\COMPOSITE 以外的相符專案,它會載入 INF 檔案中指出的驅動程式。 不過,如果找不到其他相符專案,操作系統會使用相容的標識碼 USB\COMPOSITE,它會載入USB一般父驅動程式。 泛型父驅動程序接著會建立個別的 PDO,並為複合裝置的每個介面產生一組個別的硬體識別碼。
每個介面都有下列形式的裝置識別碼:
USB\VID_v (4) &PID_d (4) &MI_z (2)
其中:
v (4) 是 USB 委員會指派給廠商的廠商代碼。
d (4) 是廠商指派給裝置的產品代碼。
z (2) 是從對應介面描述元的 bInterfaceNumber 字段擷取的介面編號。
INF 模型區段也可以指定下列相容的識別碼:
USB\CLASS_d (2) &SUBCLASS_s (2) &PROT_p (2)
USB\CLASS_d (2) &SUBCLASS_s (2)
USB\CLASS_d (2)
USB\COMPOSITE
其中:
d (2) 是取自裝置描述元的裝置類別程序代碼。
s (2) 是子類別代碼。
p (2) 是通訊協定程式代碼。
裝置類別程式代碼、子類別代碼和通訊協定程式代碼分別由介面描述元的 bInterfaceClass、bInterfaceSubClass 和 bInterfaceProtocol 欄位決定。 這些是2位數的十六進位數位。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應