共用方式為


WinUSB 架構和模組

WinUSB 包含兩個主要元件:

  • Winusb.sys是一種核心模式驅動程式,可安裝為篩選或函式驅動程式,高於 USB 裝置核心模式裝置堆疊中的通訊協定驅動程式。
  • Winusb.dll是公開 WinUSB函式的使用者模式 DLL。 當應用程式安裝為裝置的函式驅動程式時,可以使用這些函式與Winusb.sys通訊。

對於不需要自訂函式驅動程式的裝置,Winusb.sys可以安裝在裝置的核心模式堆疊中作為函式驅動程式。 然後,使用者模式進程可以使用一組裝置 I/O 控制要求或呼叫 WinUSB 函式,與Winusb.sys通訊。

下圖顯示包含數個 Winusb.sys 實例的 USB 驅動程式堆疊。

winusb 驅動程式和裝置物件堆疊。

上圖顯示實作三個裝置介面類別別的 WinUSB 組態範例,每個類別都有單一已註冊的裝置介面:

  • Winusb.sys實例 1 會註冊裝置介面 A,其支援使用者模式驅動程式 (Usboem.dll) 。
  • Winusb.sys實例 2 會註冊裝置介面 B,其支援掃描器 (Usbscan.exe 的使用者模式驅動程式 (Usbscan.exe) ,其會使用系統服務 (SVCHOST) 與Winusb.dll通訊。
  • Winusb.sys實例 3 會註冊裝置介面 C,其支援韌體更新公用程式 (Usbfw.exe) 。

只有一個載入的實例Winusb.sys。 例如,PDO 可以代表非複合裝置 (,例如圖表中的實例 1) ,或者它可以代表複合裝置上的介面或介面集合 (,例如實例 2 和 3) 。 對於 (WMCDC) 裝置的 USB 無線行動通訊裝置類別,PDO 甚至可以代表數個介面集合。 (如需 WMCDC 裝置之 PDO 的詳細資訊,請參閱 無線行動通訊裝置類別的支援。)

任何使用者模式應用程式都可以載入 WinUSB 動態連結程式庫 (Winusb.dll) 並呼叫此模組公開的 WinUSB 函式,來與 USB 堆疊通訊。

WinUSB (winusb.sys) 安裝
如何使用 WinUSB 函式存取 USB 裝置
用於管道原則修改的 WinUSB 函式
WinUSB 電源管理
WinUSB 函式
WinUSB