共用方式為


開發適用於 USB 函式控制器的 Windows 驅動程式概觀

本文說明 Windows 作業系統支援,以開發通用序列總線 (USB) 函式控制器驅動程式,以與 Microsoft 提供的 USB 函式控制器擴充功能通訊, (UFX) 。

開發工具和 Microsoft 提供的二進位檔

Windows 驅動程式套件 (WDK) 包含驅動程式開發所需的資源,例如標頭、連結庫、工具和範例。

下載適用於 Windows 的套件和工具

Windows 提供收件匣 USB 函式控制器驅動程式,例如 Synopsys IP 控制器硬體的 UfxSynopsys.sys。 它們通常需要平臺層級變更和驗證,這些變更通常是由硬體合作夥伴或 OEM 在啟動平台時執行。 此啟動程式可能包括與 ACPI 整合,以通知系統驅動程式 USB 附加/中斷連結事件,以及使用 Microsoft 提供的 HLK 測試執行其他驗證。 若要撰寫您自己的控制器驅動程式,您需要:

  • UFX (Ufx01000.sys) 載入為 FDO。 此驅動程式包含在 Windows 中。
  • 連結至 stub 連結庫 (Ufx01000.lib) 。 存根連結庫位於 WDK 中。 連結庫會轉譯函式控制器驅動程式所進行的呼叫,並將其傳遞至UFX。
  • 包含 WDK 中提供的 Ufxclient.h。

若要從使用者模式傳送要求,您需要:

  • GenericUSBFn.sys 載入為 USB 函式類別驅動程式。 此驅動程式包含在 Windows 中。
  • 包含 WDK 中提供的 Genericusbfnioctl.h。

若要從 USB 類別驅動程式傳送要求,您需要:

  • UFX (Ufx01000.sys) 載入為 FDO。 此驅動程式包含在 Windows 中。
  • 包含 WDK 中提供的 Usbfnioctl.h。

若要撰寫可透過專屬的充電裝置處理充電的篩選驅動程式,您需要:

  • UfxChipidea.sys 或 Ufxsynopsys.sys 載入為UFX的客戶端驅動程式。
  • 包含 WDK 中提供的 Ufxproprietarycharger.h。

UFX 的架構

熟悉 Microsoft 提供的 USB 驅動程序堆疊:

Windows 中的 USB 裝置端驅動程式

熟悉UFX物件和句柄

UFX 會擴充 WDF 物件功能,以定義自己的 USB 特定 UCX 物件。 如需 WDF 對象的詳細資訊,請參閱 Framework 物件簡介

針對佇列要求,UFX 會使用 USB 特定物件。 如需詳細資訊, USB 函式用戶端驅動程式所使用的UFX物件和句柄

撰寫函式控制器用戶端驅動程式

瞭解UFX的行為、它如何與客戶端驅動程序互動,以及客戶端驅動程式預期要實作的功能。

函式控制器客戶端驅動程式的工作

程序設計參考區段

UFX 程式設計參考的 USB 函式類別驅動程式

USB 函式控制器用戶端驅動程式程式設計參考

USB 篩選驅動程式,可支援專屬的電源