共用方式為


適用於開發人員的 WinUSB 簡介

作為驅動程式開發人員,了解 WinUSB (Windows USB) 可以顯著簡化您的開發流程,尤其是當您使用 USB 裝置時。 WinUSB 是 Windows 隨附的通用驅動程式。 它允許您與 USB 設備進行通信,而無需編寫自定義驅動程序。 使用此驅動程式可以節省您的時間、降低複雜性並確保不同 Windows 版本之間的相容性。

使用 WinUSB 的主要優點

  • 簡化開發

    • 易於使用:WinUSB 抽象化了 USB 通訊中涉及的大部分複雜性,這使您可以更輕鬆地與 USB 裝置互動。
    • 無需自訂驅動程式:對於許多 USB 設備,WinUSB 可以直接使用,無需編寫和維護自訂驅動程式。
  • 跨平臺相容性

    • 標準化介面:WinUSB 提供了 USB 通訊的標準化接口,有助於確保不同 Windows 版本之間的相容性。
  • 時間和成本效率

    • 減少開發時間:使用 WinUSB 可以顯著減少開發和測試 USB 驅動程式所需的時間。
    • 降低維護成本:由於 Microsoft 維護 WinUSB,您可以依賴它的更新和支持,從而降低長期維護成本。
  • 存取 USB 功能

    • 完整的 USB 功能:WinUSB 支援多種 USB 功能,包括批量傳輸、控制傳輸、中斷傳輸和同步傳輸。

使用 WinUSB 可完成哪些事項?

  • 裝置通訊

    • 資料傳輸:使用大量、控制、中斷或同步傳輸,在 USB 裝置之間傳送和接收資料。
    • 控制請求:發送控制請求以配置設備或檢索信息。
  • 裝置設定

    • 設定配置:選擇配置、介面和替代設定來配置 USB 裝置。
    • 端點管理:管理資料傳輸的端點。
  • 裝置列舉

    • 裝置識別:列舉並識別連接到系統的 USB 裝置。
    • 描述元擷取:擷取裝置描述元、組態描述元、介面描述元和端點描述元。
  • 自訂應用程式

    • 使用者模式應用程式:開發使用 WinUSB API 與 USB 裝置通訊的使用者模式應用程式。
    • 韌體更新:實作USB裝置的韌體更新機制。
  • 測試和調試

    • 原型設計:快速建立 USB 裝置通訊的原型,以測試硬體功能。
    • 偵錯:使用 WinUSB 來偵錯主機與 USB 裝置之間的通訊問題。

WinUSB 的元件

WinUSB 包括:

  • 內核模式驅動程式 (winusb.sys)
  • 使用者模式動態連結庫 (winusb.dll) 會公開 winusb.h 中所述的 WinUSB 函式。 您可以使用這些功能來管理具有使用者模式軟體的 USB 裝置。

根據預設,winusb.sys會以上層篩選驅動程式的形式安裝在裝置的核心模式堆疊中。 應用程式會與裝置的 User-Mode 驅動程式架構 (UMDF) 函式驅動程式通訊,以發出讀取、寫入或裝置 I/O 控制要求。 在此設定中,winusb.sys可作為裝置堆疊的 隨插即用 和電源擁有者。 您也可以將winusb.sys安裝為 USB 裝置的功能驅動程式。

開始使用 WinUSB

本節包含下列資訊:

  • 選取裝置的正確驅動程式
  • 使用 WinUSB 與 USB 裝置通訊
  • 將winusb.sys安裝為USB裝置的功能驅動程式

它還包括詳細的程式碼範例,顯示應用程式和 USB 裝置如何通訊。

注意

WinUSB 支援從 Windows 8 開始的隨機傳輸。