共用方式為


在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裝置類別驅動程式