通用序列匯流排 (USB)
通用序列匯流排 (USB) 提供可擴充的隨插即用序列介面,可確保周邊裝置的標準低成本連線。 USB 裝置包括鍵盤、滑鼠、搖桿、印表機、掃描器、儲存裝置、數據機、視訊會議相機等等。
USB-IF 是一個特殊興趣群組, (SGS) 維護 官方 USB 規格、測試規格和工具。
Windows 作業系統包含符合官方 USB 規格的 USB 主機控制器、中樞和裝置和系統的原生支援。 Windows 也提供程式設計介面,可讓您用來開發與 USB 裝置通訊 的設備磁碟機 和 應用程式 。
Windows 中的 USB
WINDOWS 支援 USB Type-C 連接器:適用于想要使用 USB Type-C 連接器建置 Windows 系統的 OEM。
通用序列匯流排 4 (USB4™) :為 OEM、IHV 和晶片廠商提供支援 USB4 的 Windows 系統,並提供 USB4 連線管理員的相關資訊、加速偵錯和啟動程式。
USB 常見問題:驅動程式開發人員關於 USB 堆疊和支援之 USB 堆疊和功能的常見問題。
適用于 USB 裝置的 Microsoft OS 描述項:Windows 會定義 MS OS 描述元,以在連線到執行 Windows 作業系統的系統時,更能列舉。
開發工具
USB 範例
建立適用于 Windows 的 USB 驅動程式或應用程式
介紹 USB 驅動程式開發。 提供選擇最適合用來為裝置提供 USB 驅動程式之模型的資訊。
(KMDF、UMDF) 寫入 USB 用戶端驅動程式
本節包含使用 Microsoft Visual Studio 隨附的 USB 範本撰寫第一個使用者模式和核心模式 USB 驅動程式的教學課程。
寫入 USB 主機控制器驅動程式
如果您要開發不符合規格的 xHCI 主機控制器,或開發自訂非 xHCI 硬體 (,例如虛擬主機控制器) ,您可以撰寫與 UCX 通訊的主機控制器驅動程式。 例如,請考慮支援 USB 裝置的無線擴充座。 電腦會使用 USB over TCP 作為傳輸,透過無線擴充座與 USB 裝置通訊。
UCX) 參考 (USB 主機控制器
撰寫 USB 裝置的函式控制器驅動程式
您可以開發控制器驅動程式,以處理主機傳送至裝置的所有 USB 資料傳輸和命令。 此驅動程式會與 Microsoft 提供的 USB 函式控制器擴充功能通訊, (UFX) 。
UFX) 參考 (USB 函式類別延伸模組
寫入 USB Type-C 連接器驅動程式
Windows 10引進對新 USB 連接器的支援:USB Type-C。 您可以為與 Microsoft 提供的類別擴充模組通訊的連接器撰寫驅動程式:UcmCx 來處理與 Type-C 連接器相關的案例,例如哪些埠支援 Type-C,哪些埠支援電源傳遞。
開發適用于 USB Type-C 連接器的 Windows 驅動程式
UcmCx) 參考 (USB 連接器管理員類別延伸模組
撰寫 USB 雙角色控制器驅動程式
WINDOWS 10現在支援 USB 雙重角色控制器。 Windows 包含 ChipIdea 和 Synopsis 控制器的內建用戶端驅動程式。 針對其他控制器,Microsoft 提供一組程式設計介面,可讓雙重角色類別延伸模組 (UrsCx) 及其用戶端驅動程式彼此通訊,以處理雙角色控制器的角色切換功能。
如需此功能的詳細資訊,請參閱:
USB 雙角色控制器驅動程式程式設計參考
撰寫模擬裝置的 USB 驅動程式
您可以開發模擬的通用序列匯流排 (USB) 主機控制器驅動程式和連接的虛擬 USB 裝置。 這兩個元件會結合成單一 KMDF 驅動程式,與 Microsoft 提供的 USB 裝置模擬類別擴充功能通訊, (UdeCx) 。
開發模擬 USB 裝置的 Windows 驅動程式, (UDE)
模擬的 USB 主機控制器驅動程式程式設計參考
用於開發 USB 驅動程式的 WDF 擴充功能
- UcmCx) 參考 (USB 連接器管理員類別延伸模組
- UCX) 參考 (USB 主機控制器
- UFX) 參考 (USB 函式類別延伸模組
撰寫 UWP 應用程式
與 USB 裝置交談,開始完成:提供在 UWP 應用程式中實作 USB 功能的逐步指示。 若要為 USB 裝置撰寫這類應用程式,您需要 Visual Studio 和 Microsoft Windows 軟體發展工具組 (SDK) 。
Windows.Devices.Usb:UWP 命名空間程式設計參考。
撰寫 Windows 傳統型應用程式
撰寫 WinUSB 應用程式:描述應用程式如何呼叫 WinUSB Functions 來與 USB 裝置通訊。
WinUSB 函式
常見程式設計案例:驅動程式或應用程式為了與 USB 裝置通訊而執行的一般工作清單。 取得每個工作所需程式設計介面的快速資訊。
使用 Windows 測試 USB 裝置
Microsoft USB 測試控管 (MUTT) 裝置概觀
取得可用來測試 USB 硬體或軟體、擷取作業追蹤和其他系統事件的工具相關資訊,並觀察 USB 驅動程式堆疊如何回應用戶端驅動程式或應用程式所傳送的要求。
閱讀硬體認證套件中的測試概觀,讓硬體廠商和裝置製造商準備其 USB 裝置和主機控制器以進行 Windows 硬體認證提交。
通用序列匯流排 4 (USB4™)
通用序列匯流排 4 (USB4™) :為 OEM、IHV 和晶片廠商提供支援 USB4 的 Windows 系統,並提供 USB4 連線管理員的相關資訊、加速偵錯和啟動程式。
Windows 中的 USB4 連線管理員簡介:USB4網域中的連線管理員負責列舉、設定和管理 USB4 網域。
通用序列匯流排 4 (USB4™) 設計詳細資料和一般需求:高階設計和使用者體驗需求。
通用序列匯流排 4 (USB4™) 必要測試:HLK 需求並非設計來提供 USB4 功能集的完整端對端功能測試涵蓋範圍。 建議您執行重要使用案例的完整驗證。
USB 的其他資源
官方 USB 規格:提供 USB 通訊協定的完整技術詳細資料。
Microsoft Windows USB 核心小組部落格:查看由 Microsoft USB 小組撰寫的文章。 部落格著重于 Windows USB 驅動程式堆疊,其適用于 Windows 電腦中找到的各種 USB 主機控制器和 USB 中樞。 適用于 USB 用戶端驅動程式開發人員和 USB 硬體設計工具的實用資源,可瞭解驅動程式堆疊實作、解決常見問題,以及說明如何使用工具來收集追蹤和記錄檔。
OSR Online 清單 - ntdev: OSR Online 所管理的討論清單,適用于核心模式驅動程式開發人員。
Windows 硬體開發人員中心:根據開發人員不熟悉的常見問題,開發使用 Windows 作業系統的 USB 裝置和驅動程式的其他資源。
用於學習的 USB 硬體
MUTT 裝置:MUTT 和 SuperMUTT 裝置和隨附的軟體套件會整合到 USB 測試的 HCK 套件中。 它們提供可在 USB 控制器、裝置和系統開發週期期間使用的自動化測試,特別是壓力測試。
OSR USB FX2 學習套件:如果您是 USB 驅動程式開發的新手。 套件最適合用來研究本檔集中包含的 USB 範例。 您可以從 OSR Online Store 取得學習套件。
瞭解 Microsoft 提供的 USB 驅動程式
Windows 中的 USB 裝置端驅動程式:描述 USB 函式堆疊的架構。
Windows 中的 USB 主機端驅動程式:提供通用序列匯流排 (USB) 驅動程式堆疊架構的概觀。 Microsoft 提供與連線至 EHCI 和 xHCI 控制器之裝置互通的核心驅動程式堆疊。
USB-IF 裝置類別驅動程式:列出支援的 USB 裝置類別的 Microsoft 提供的驅動程式。 Windows 提供許多 USB-IF 核准裝置類別、音訊、大量儲存等的內建裝置類別驅動程式。
USB 泛型函式驅動程式 –WinUSB:WinUSB是自 Windows Vista 以來所有 Windows 版本隨附的 USB 裝置的一般驅動程式。 Windows 提供 Winusb.sys,可載入為自訂裝置的函式驅動程式和複合裝置的函式。
適用于複合裝置的 USB 一般父驅動程式–Usbccgp:具有多個功能的 USB 裝置父驅動程式。 Usbccgp 會為每個函式建立實體裝置物件, (PDO) 。 這些個別 PDO 會管理其各自的 USB 函式驅動程式,可能是 Winusb.sys 驅動程式或 USB 裝置類別驅動程式。