標準USB標識碼
針對USB裝置產生的標識碼集取決於裝置是單一介面裝置還是多介面裝置。
單一介面 USB 裝置
當新的 USB 裝置插入時,系統提供的 USB 中樞驅動程式會使用從裝置 裝置描述元擷取的資訊來撰寫下列裝置識別碼:
USB\VID_v(4)&PID_d(4)&REV_r(4)
其中:
- v(4) 是 USB 委員會指派給廠商的廠商代碼。
- d(4) 是廠商指派給裝置的產品名稱。
- r(4) 是修訂碼。
中樞驅動程式會分別從裝置描述元的idVendor、idProduct和 bcdDevice 字段擷取廠商和產品名稱。 這些代碼是四位數的十六進位數位。
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 字段分別決定裝置類別程式碼、子類別代碼和通訊協定程序代碼。 這些代碼是兩位數的十六進位數位。
多介面USB裝置
具有多個介面的裝置稱為 複合 裝置。 當新的 USB 複合裝置 插入 Windows 電腦時,USB 中樞驅動程式會建立實體裝置物件 (PDO),並通知操作系統更新子裝置清單。 在 Windows 查詢中樞驅動程式是否有與新 PDO 相關聯的硬體標識符之後,它會搜尋適當的 INF 檔案,以尋找標識碼的相符專案。 如果找到 USB\COMPOSITE 以外的相符專案,它會載入 INF 檔案中指出的驅動程式。 不過,如果找不到其他相符專案,操作系統會使用相容的標識碼 USB\COMPOSITE,它會載入USB一般父驅動程式。 一般父驅動程式接著會建立個別的 PDO,並為複合裝置的每個介面產生一組個別的硬體識別碼。
每個介面都有下列形式的裝置識別碼:
USB\VID_v(4)&PID_d(4)&MI_z(2)
其中:
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 字段分別決定裝置類別程式碼、子類別代碼和通訊協定程序代碼。 這些代碼是兩位數的十六進位數位。