通用串行总线(USB)提供可扩展即插即用串行接口,可确保外围设备的标准低成本连接。 USB 设备包括键盘、鼠标、游戏杆、打印机、扫描仪、存储设备、调制解调器、视频会议摄像头等。
USB-IF 是一个特别兴趣组 (SIG),负责维护官方 USB 规范、测试规范和工具。
Windows 操作系统为 USB 主控制器、集线器以及符合官方 USB 规范的设备和系统提供本机支持。 Windows 还提供编程接口,用于开发可与 USB 设备通信的设备驱动程序和应用程序。




- Windows 支持 USB 类型 C 连接器:对于想要使用 USB Type-C 连接器构建 Windows 系统的 OEM。
- 通用串行总线 4 (USB4™):为 OEM、IHV 和硅供应商提供支持 USB4 的 Windows 系统,并提供有关 USB4 连接管理器的信息、促进调试和启动过程。
- USB 常见问题解答:驱动程序开发人员关于 USB 堆栈和 USB 中支持的功能的常见问题。
- Microsoft USB 设备的 OS 描述符:Windows 定义 MS OS 描述符,以便在连接到运行 Windows 操作系统的系统时更好地枚举。
- 下载 Windows 驱动程序工具包 (WDK)
- USB 的 UWP 应用示例
- USB 的 Windows 驱动程序示例
USB 驱动程序开发简介。 介绍在为设备提供 USB 驱动程序时如何选择最适合的模型。
本部分包含有关如何使用 Visual Studio 随附的 USB Microsoft 模板编写第一个用户模式和内核模式 USB 驱动程序的教程。
- USB 客户端驱动程序开发入门
- USB device driver programming reference(USB 设备驱动程序编程参考)
如果要开发不符合规范或开发自定义非 xHCI 硬件(如虚拟主机控制器)的 xHCI 主机控制器,则可以编写与 UCX 通信的主机控制器驱动程序。 例如,可以考虑支持 USB 设备的无线坞。 电脑通过无线坞与 USB 设备通信,使用基于 TCP 的 USB 作为传输方式。
- 为 USB 主控制器开发 Windows 驱动程序
- USB 主控制器 (UCX) 参考
- Ucxclass.h
- Ucxcontroller.h
- Ucxroothub.h
- Ucxusbdevice.h
- Ucxendpoint.h
- Ucxsstreams.h
可以开发控制器驱动程序,用于处理由主机发送到设备的所有 USB 数据传输内容和命令。 此驱动程序可以与 Microsoft 提供的 USB 功能控制器扩展 (UFX) 通信。
为 USB 功能控制器开发 Windows 驱动程序
USB 函数类扩展 (UFX) 参考
- Ufxbase.h
- Ufxclient.h
- Ufxproprietarycharger.h
Windows 10 引入了对新 USB 连接器的支持:USB 类型 C。 可以为与Microsoft提供的类扩展模块通信的连接器编写驱动程序:UcmCx 来处理与类型 C 连接器相关的方案,例如,哪些端口支持类型 C,哪些端口支持电源传递。
为 USB 类型 C 连接器开发 Windows 驱动程序
USB 连接器管理器类扩展 (UcmCx) 参考
- Ucmmanager.h
Windows 10 现在支持 USB 双角色控制器。 Windows 包括适用于 ChipIdea 和 Synopsis 控制器的内置客户端驱动程序。 对于其他控制器,Microsoft 提供一组编程接口,方便双角色类扩展 (UrsCx) 及其客户端驱动程序互相通信,从而处理双角色控制器的角色切换功能。
有关此功能的详细信息,请参阅:
USB 双角色驱动程序堆栈体系结构
USB 双角色控制器驱动程序编程参考
- Ursdevice.h
可以开发模拟的通用串行总线(USB)主机控制器驱动程序和连接的虚拟 USB 设备。 这两个组件组合成单个 KMDF 驱动程序,该驱动程序可以与 Microsoft 提供的 USB 设备模拟类扩展 (UdeCx) 通信。
开发模拟 USB 设备 (UDE) 的 Windows 驱动程序
模拟 USB 主控制器驱动程序编程参考
- Udecxusbdevice.h
- Udecxusbendpoint.h
- Udecxwdfdevice.h
- Udecxurb.h
- USB 连接器管理器类扩展 (UcmCx) 参考
- Ucmmanager.h
- USB 主机控制器 (UCX) 参考
- Ucxclass.h
- Ucxcontroller.h
- Ucxroothub.h
- Ucxusbdevice.h
- Ucxendpoint.h
- Ucxsstreams.h
- USB 函数类扩展 (UFX) 参考
- Ufxbase.h
- Ufxclient.h
- Ufxproprietarycharger.h
- 与 USB 设备通信,开始完成:提供有关在 UWP 应用中实现 USB 功能的分步说明。 若要为 USB 设备编写此类应用,需要 Visual Studio 和 Microsoft Windows 软件开发工具包(SDK)。
- Windows.Devices.Usb:UWP 命名空间编程参考。
- 编写 WinUSB 应用程序:描述应用程序如何调用 WinUSB Functions 来与 USB 设备通信。
- WinUSB 函数
- Winusb.h
- Usbioctl.h
- 常见编程方案:驱动程序或应用为了与 USB 设备通信而执行的常见任务列表。 快速了解每个任务所需的编程接口。
Microsoft USB 测试工具 (MUTT) 设备的概述
获取相关工具的信息,这些工具可以用来测试 USB 硬件或软件、捕获操作和其他系统事件的跟踪,以及观察 USB 驱动程序堆栈如何响应客户端驱动程序或应用程序发送的请求。
阅读硬件认证工具包中提供的测试的概述。硬件供应商和设备制造商可以通过这些测试准备其 USB 设备和主控制器,以便提交 Windows 硬件认证。
- 通用串行总线 4 (USB4™):为 OEM、IHV 和硅供应商提供支持 USB4 的 Windows 系统,并提供有关 USB4 连接管理器的信息、促进调试和启动过程。
- Windows 中的 USB4 连接管理器简介:USB4 域中的连接管理器负责 USB4 域的枚举、配置和管理。
- 通用串行总线 4 (USB4™) 设计详细信息和一般要求:高级设计和用户体验要求。
- 通用串行总线 4(USB4™)需要测试:HLK 要求不旨在为 USB4 功能集提供完整的端到端功能测试覆盖范围。 建议你对重要的使用方案进行全面验证。
- 官方 USB 规范:提供 USB 协议的完整技术详细信息。
- Microsoft Windows USB 核心团队博客:查看由 Microsoft USB 团队撰写的文章。 此博客重点介绍 Windows USB 驱动程序堆栈,该堆栈适用于 Windows 电脑中的各种 USB 主控制器和 USB 集线器。 适用于 USB 客户端驱动程序开发人员和 USB 硬件设计器的有用资源,用于了解驱动程序堆栈实现、解决常见问题,以及如何使用工具来收集跟踪和日志文件。
- OSR Online 列表 - ntdev:OSR Online 为内核模式驱动程序开发人员管理的讨论列表。
- Windows 硬件开发人员中心:基于开发人员对开发适用于 Windows 操作系统的 USB 设备和驱动程序的常见问题的其他资源。
- MUTT 设备:MUTT 和 SuperMUTT 设备和随附的软件包已集成到 HCK USB 测试套件中。 它们提供的自动化测试可以在 USB 控制器、设备和系统的开发周期中使用,尤其是在进行压力测试时使用。
- OSR USB FX2 学习工具包:如果你不熟悉 USB 驱动程序开发。 此工具包最适合学习本文档集中包括的 USB 示例。 可以从 OSR Online 商店获取学习工具包。
- Windows 中的 USB 设备端驱动程序:介绍 USB 函数堆栈的体系结构。
- Windows 中的 USB 主机端驱动程序:概述通用串行总线(USB)驱动程序堆栈体系结构。 Microsoft 提供驱动程序的核心堆栈,这些驱动程序可以与连接到 EHCI 和 xHCI 控制器的设备互操作。
- USB-IF 设备类驱动程序:列出支持的 USB 设备类的Microsoft提供的驱动程序。 Windows 为许多经 USB-IF 批准的设备类、音频、大容量存储等提供随机设备类驱动程序。
- USB 泛型函数驱动程序 –WinUSB:WinUSB 是 USB 设备的通用驱动程序,自 Windows Vista 以来所有版本的 Windows 随附。 Windows 提供的 Winusb.sys 可以作为自定义设备的功能驱动程序加载,以及作为复合设备的函数加载。
- 复合设备的 USB 通用父驱动程序 – Usbccgp:具有多个功能的 USB 设备的父驱动程序。 Usbccgp 为每个这样的功能创建物理设备对象 (PDO)。 这些单独的 PDO 管理各自的 USB 功能驱动程序,可以是Winusb.sys驱动程序或 USB 设备类驱动程序。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/12352.html