共用方式為


USB 複合裝置的列舉

當新的 USB 裝置連線到主電腦時,USB 總線驅動程式會為裝置建立實體裝置物件 (PDO),併產生 PnP 事件來報告新的 PDO。 然後,操作系統會查詢總線驅動程式是否有與 PDO 相關聯的硬體識別碼。

針對所有 USB 裝置,USB 總線驅動程式會報告 具有下列格式的裝置識別碼

USB\VID_xxxx&PID_yyyy

xxxx 和 yyyy 值分別取自裝置描述元的 idVendoridProduct 字段。

如果裝置符合下列需求,則總線驅動程式也會回報 的相容標識碼(ID):USB\COMPOSITE

  • 裝置描述元 (bDeviceClass) 的裝置類別欄位必須分別包含零或類別 (bDeviceClass)、子類別 (bDeviceSubClass) 和通訊協定 (bDeviceProtocol) 字段的值0xEF、0x02和0x01,如 USB 介面關聯描述元中所述。

  • 裝置必須有多個介面。

  • 裝置必須具有單一組態。

總線驅動程式也會檢查裝置描述元的裝置類別 (bDeviceClass)、子類別 (bDeviceSubClass) 和通訊協定 (bDeviceProtocol) 欄位。 如果這些欄位為零,裝置是複合裝置,而總線驅動程式會針對 PDO 報告 USB\COMPOSITE 的額外相容識別碼(ID)。

在總線驅動程式擷取新 PDO 的硬體和相容標識符之後,操作系統會搜尋 INF 檔案。 如果其中一個 INF 檔案包含裝置識別碼的相符專案,Windows 會載入該驅動程式和一般父驅動程式不會生效。 如果沒有 INF 檔案包含裝置識別碼,且 PDO 具有相容的標識碼,Windows 會搜尋相容的標識碼。 此搜尋會在 Usb.inf 中產生相符專案,並導致操作系統載入 USB 泛型父驅動程式 (Usbccgp.sys)。

如果您的裝置沒有產生 USB\COMPOSITE 相容識別符的特性,您必須提供載入泛型父驅動程式的 INF 檔案。 INF 檔案應該包含參考 Usb.inf 的需求/include 區段。

如果您的複合裝置有多個組態,您提供的 INF 檔案必須指定泛型父系應該在登錄中使用的組態。 設定Usbccgp.sys以選取非預設USB組態中所述必要的登錄機碼。