共用方式為


適用於開發人員的 WinUSB 簡介

身為驅動程式開發人員,瞭解 WinUSB (Windows USB) 可以大幅簡化您的開發程式,尤其是在使用 USB 裝置時。 WinUSB 是 Windows 隨附的一般驅動程式,可讓您與 USB 裝置通訊,而不需要撰寫自定義驅動程式。 這可節省您的時間、降低複雜度,並確保不同 Windows 版本的相容性。

使用 WinUSB 的主要優點

  1. 簡化的開發

    • 方便使用:WinUSB 會抽象化 USB 通訊所涉及的許多複雜度,讓您更輕鬆地與 USB 裝置互動。
    • 不需要自定義驅動程式:對於許多USB裝置,可以直接使用WinUSB,而不需要撰寫和維護自定義驅動程式。
  2. 跨平臺相容性

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

    • 縮短開發時間:使用 WinUSB 可大幅縮短開發和測試 USB 驅動程式所需的時間。
    • 較低的維護成本:由於 WinUSB 是由Microsoft維護,因此您可以依賴它進行更新和支援,進而降低長期維護成本。
  4. 存取 USB 功能

    • 完整的 USB 功能:WinUSB 支援各種不同的 USB 功能,包括大量傳輸、控制傳輸、中斷傳輸和不時傳輸。

您可以使用 WinUSB 完成的工作

  1. 裝置通訊

    • 數據傳輸:使用大量、控制、中斷或異時傳輸來回傳送和接收USB裝置的數據。
    • 控制要求:傳送控制要求來設定裝置或擷取資訊。
  2. 裝置設定

    • 設定組態:選取組態、介面和替代設定來設定USB裝置。
    • 端點管理:管理數據傳輸的端點。
  3. 裝置列舉

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

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

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

WinUSB 的元件

WinUSB 包括:

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

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

開始使用 WinUSB

本節包含下列資訊:

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

您也會找到詳細的程式代碼範例,示範應用程式和 USB 裝置的通訊方式。

注意

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