通用序列匯流排 (USB)
通用序列總線 (USB) 提供可擴充的 隨插即用 序列介面,可確保周邊裝置的標準低成本連線。 USB 裝置包括鍵盤、滑鼠、遊戲桿、印表機、掃描器、儲存裝置、數據機、視訊會議相機等等。
USB-IF 是一個特別興趣小組(SIG),負責維護 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堆疊和功能的常見問題。
Microsoft USB 裝置的 OS 描述元:Windows 會定義 MS OS 描述元,以在連線到執行 Windows 操作系統的系統時提供更好的列舉。
開發工具
USB 範例
建立適用於 Windows 的 USB 驅動程式或應用程式
介紹USB驅動程序開發。 提供選擇最適合為裝置提供 USB 驅動程式之模型的相關信息。
寫入 USB 用戶端驅動程式(KMDF、UMDF)
本節包含使用 Visual Studio 隨附的 USB 範本,撰寫第一個使用者模式和內核模式 USB 驅動程式的教學 Microsoft課程。
寫入USB主機控制器驅動程式
寫入與 UCX 通訊的主機控制器驅動程式,如果:
- 您正在開發不符合規格的 xHCI 主機控制器。
- 您正在開發自定義的非 xHCI 硬體,例如虛擬主機控制器。
例如,請考慮支援USB裝置的無線擴充座。 計算機會透過無線擴充座透過USB透過TCP作為傳輸,與USB裝置通訊。
USB 主機控制器(UCX)參考資料
為 USB 裝置撰寫函式控制器驅動程式
您可以開發控制器驅動程式,以處理主機傳送至裝置的所有 USB 資料傳輸和命令。 此驅動程式會與Microsoft提供的USB函式控制器擴充功能 (UFX) 通訊。
USB 功能類別延伸模組(UFX)參考
撰寫USB Type-C 連接器驅動程式
Windows 10 引進新 USB 連接器的支援:USB Type-C。 您可以撰寫與Microsoft提供的類別擴充模塊通訊之連接器的驅動程式:UcmCx 來處理與 Type-C 連接器相關的案例,例如哪些埠支援 Type-C,哪些埠支援電源傳遞。
開發適用於 USB Type-C 連接器的 Windows 驅動程式
USB 連接器管理員類別延伸模組 (UcmCx) 參考
寫入USB雙角色控制器驅動程式
Windows 10 現在支援 USB 雙重角色控制器。 Windows 包含 ChipIdea 和 Synopsis 控制器的內建客戶端驅動程式。 對於其他控制器,Microsoft提供一組程式設計介面,讓雙角色類別延伸模組 (UrsCx) 及其用戶端驅動程式彼此通訊,以處理雙角色控制器的角色切換功能。
如需此功能的詳細資訊,請參閱:
USB 雙角色控制器驅動程式程式設計參考
撰寫模擬裝置的 USB 驅動程式
您可以開發仿真的通用序列總線 (USB) 主機控制器驅動程式和連接的虛擬 USB 裝置。 這兩個元件都會合併成單一 KMDF 驅動程式,與Microsoft提供的 USB 裝置模擬類別延伸模組 (UdeCx) 通訊。
開發模擬 USB 裝置的 Windows 驅動程式 (UDE)
模擬 USB 主機控制器驅動程式程式設計參考
用於開發 USB 驅動程式的 WDF 擴充功能
USB 連接器管理類別擴充(UcmCx)參考
USB 主機控制器 (UCX) 參考
USB 功能類別擴展(UFX)參考
撰寫 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 裝置和隨附的軟體套件會整合到 HCK 套件的 USB 測試中。 它們提供自動化測試,可在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 裝置類別驅動程式。