開發適用於 USB 裝置的 Windows 用戶端驅動程式概觀
本文說明 Windows 作業系統中的通用序列總線 (USB) 支援,以便開發可與 Windows 互通的 USB 設備驅動器。
USB 裝置是透過單一埠連線到電腦的周邊裝置,例如滑鼠裝置和鍵盤。 USB 用戶端驅動程式是安裝在與硬體通訊以讓裝置運作的電腦上的軟體。 如果裝置屬於 Microsoft 支援的裝置類別,Windows 會載入其中一個 Microsoft 提供的 USB 驅動程式 , (裝置的內建類別驅動程式) 。 否則,硬體製造商或第三方廠商必須提供自定義用戶端驅動程式。 當使用者第一次偵測到 Windows 偵測到裝置時,會安裝裝置的用戶端驅動程式。 安裝成功之後,Windows 會在每次連接裝置時載入客戶端驅動程式,並在裝置與主計算機中斷連結時卸除驅動程式。
您可以使用 Windows Driver Frameworks (WDF) 或 Windows 驅動程式模型 (WDM) 來開發 USB 裝置的自定義用戶端驅動程式。 大部分的用戶端驅動程式不會直接與硬體通訊,而是將其要求傳送至 Microsoft 提供的 USB 驅動程式堆疊,讓硬體抽象層 (HAL) 函式呼叫,以將用戶端驅動程式的要求傳送至硬體。 本節中的主題描述用戶端驅動程式可以傳送的一般要求,以及用戶端驅動程序必須呼叫以建立這些要求的裝置驅動程式介面, (DIS) 。
開發人員對象
USB 裝置的用戶端驅動程式是 WDF 或 WDM 驅動程式,可透過 USB 驅動程式堆疊所公開的 DDI 與裝置通訊。 本節適用於熟悉 WDM 的 C/C++ 程式設計人員。 使用本節之前,您應該先瞭解基本的驅動程序開發。 如需詳細資訊,請參閱使用 Windows 驅動程式 使用者入門。 針對WDF驅動程式,用戶端驅動程式可以使用 核心模式驅動程序架構 (KMDF) 或 使用者模式驅動程式架構 (UMDF) 介面,專為使用 USB 目標而設計。 如需USB特定介面的詳細資訊,請參閱 WDF USB 參考 和 UMDF USB I/O 目標介面。
開發工具
Windows 驅動程式套件 (WDK) 包含驅動程式開發所需的資源,例如標頭、連結庫、工具和範例。
USB 程式設計參考
提供 I/O 要求的規格、支援例程、結構和 USB 用戶端驅動程式所使用的介面。 這些例程和相關數據結構會在WDK標頭中定義。
USB 驅動程式範例
使用這些範例開始使用 USB 用戶端驅動程式程式設計。
- Usbsamp 一般 USB 驅動程式
- 適用於 OSR USB-FX2 的 KMDF 函式驅動程式範例
- 適用於 OSR USB-FX2 的 UMDF 函式驅動程式範例 (UMDF 第 1 版)
- 適用於 OSR USB-FX2 的範例函式驅動程式 (UMDF 第 2 版)
相關標準和規格
您可以從 通用序列總線文件庫 網站下載官方 USB 規格。 此網站包含通用序列總線規格各種修訂的連結。
檔區段
開始使用 USB 用戶端驅動程式開發
介紹USB驅動程序開發。 提供有關選擇最適合為裝置提供USB驅動程式之模型的資訊。 使用 Microsoft Visual Studio 隨附的 USB 範本,撰寫、建置及安裝您的第一個基本架構使用者模式和核心模式 USB 驅動程式。Windows 中的 USB 主機端驅動程式
提供 USB 驅動程式堆疊架構的概觀。關於USB封鎖要求 (URL)
瞭解客戶端驅動程式如何建置稱為 USB 要求區塊的可變長度數據結構 (URB) ,以將要求提交至 USB 驅動程式堆疊。USB 描述元
瞭解客戶端驅動程式如何建置稱為 USB 要求區塊的可變長度數據結構 (URB) ,以將要求提交至 USB 驅動程式堆疊。在USB驅動程式中選取USB組態
裝置設定是指客戶端驅動程序執行的工作,以選取 USB 組態和每個介面中的替代介面。 區段顯示選取 USB 組態所需的方法呼叫。在 USB 用戶端驅動程式中傳送 USB 資料傳輸
描述 USB 管道、I/O 要求的 URI,以及用戶端驅動程式如何使用裝置驅動程式介面, (DIS) 來將數據傳送至 USB 裝置。在 USB 用戶端驅動程式中實作電源管理
使用符合通用序列總線 (USB) 規格之 USB 裝置的電源管理功能,具有豐富且複雜的電源管理功能。
相關主題
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應