在USB驅動程式中選取USB組態的概觀
本節中的主題描述客戶端驅動程式如何設定其裝置。
USB 裝置會以稱為 USB組態的一系列介面形式公開其功能。 每個介面都包含一或多個替代設定,而每個替代設定是由一組端點所組成。 裝置必須至少提供一個設定,但可以提供多個設定,這些組態是裝置可以執行的互斥定義。 如需組態描述元的詳細資訊,請參閱 USB 組態描述元。
裝置設定是指客戶端驅動程序執行的工作,以選取每個介面中的USB組態和替代介面。 將 I/O 要求傳送至裝置之前,用戶端驅動程式必須讀取裝置的設定、剖析資訊,然後選取適當的設定。 用戶端驅動程序必須至少選取其中一個支持的設定,才能讓裝置運作。
以 WDM 為基礎的用戶端驅動程式可以選取 USB 裝置中的任何設定。
如果您的用戶端驅動程式是以 內核模式驅動程式架構 或 使用者模式驅動程式架構為基礎,您應該使用個別的架構介面來設定 USB 裝置。 如果您使用 Microsoft Visual Studio Professional 2012 提供的 USB 範本,範本程式代碼會選取每個介面中的第一個組態和預設替代設定。
本節內容
主題 | 描述 |
---|---|
如何選取 USB 裝置的設定 | 在本主題中,您將瞭解如何選取通用序列總線中的設定, (USB) 裝置。 |
如何在USB介面中選取替代設定 | 本主題描述發出選取介面要求以在USB介面中啟用替代設定的步驟。 選取 USB 組態之後,用戶端驅動程式必須發出此要求。 根據預設,選取組態也會啟動該組態中每個介面中的第一個替代設定。 |
將 Usbccgp.sys 設定為選取非預設 USB 組態 | 本主題提供登錄設定的相關信息,這些設定 Usbccgp.sys 選取USB組態的方式。 本主題也說明 Usbccgp.sys 如何處理用戶端驅動程式所傳送的選取組態要求,以控制複合裝置的其中一個功能。 |
如需需要韌體下載之裝置設定之特殊考慮的相關信息,請參閱 設定需要韌體下載的USB裝置。
選取設定的限制
如果客戶端驅動程式使用 WDF 物件,或裝置是否有單一介面或多個介面,則適用某些限制。 變更預設組態之前,請考慮下列限制:
- 透過 USB 一般父 驅動程式 (Usbccgp.sys 管理介面或介面集合之複合裝置的用戶端驅動程式,) 無法變更裝置的組態值。 不過,客戶端驅動程式可以設定 Usbccgp.sys,以選取第一個 (預設) 組態以外的組態。 如需詳細資訊,請參閱 設定 Usbccgp.sys 以選取非預設 USB 組態。
- 使用架構 USB I/O 目標的 KMDF 型用戶端驅動程式只能選取第一個組態。
- WinUSB 僅支援第一個設定。
- 類別驅動程式經常缺少多個組態的支援。 如果您的裝置實作由 USB 類別規格定義的類別,請參閱 USB 技術 網站,以取得裝置類別和類別規格的相關信息。 Microsoft 為支援的 USB 裝置類別提供類別驅動程式。 如需詳細資訊,請參閱 支援的USB裝置類別驅動程式。