USB 开发入门
通用串行总线 (USB) 设备通过配置、接口、备用设置和终结点来定义其功能和功能。 本主题提供这些概念的高级概述。 有关详细信息,请参阅 通用串行总线文档中的 USB 规范。
在本节中
主题 | 说明 |
---|---|
USB 设备布局 | USB 设备通过配置、接口、备用设置和终结点定义其功能和功能。 本主题提供这些概念的高级概述。 |
标准 USB 描述符 | USB 设备在名为 USB 描述符的数据结构中提供有关自身的信息。 本部分提供有关设备、配置、接口和终结点描述符的信息,以及从 USB 设备检索它们的方法。 |
USB 终结点及其管道 | USB 设备具有用于数据传输的终结点。 在主机端,终结点由管道表示。 本主题区分这两个术语。 |
Windows 中的 USB - 常见问题解答 | 本主题为刚开始开发和集成 USB 设备和驱动程序与 Windows 操作系统的驱动程序开发人员提供常见问题。 |
常见 USB 方案
1 - 获取用于通信的设备句柄 ,并使用检索到的句柄或对象发送数据传输。
客户端驱动程序 | UWP 应用 | Windows 桌面应用 |
---|---|---|
KMDF: WdfUsbTargetDeviceCreateWithParameters UMDF: IWDFUsbTargetDevice |
UsbDevice 如何连接到 USB 设备 |
WinUsb_Initialize 编写基于 WinUSB 模板的 Windows 桌面应用 |
USB 描述符检索 以获取有关设备配置的信息, () 、接口 () 、设置 () 及其终结点 () 。
客户端驱动程序 | UWP 应用 | Windows 桌面应用 |
---|---|---|
KMDF: WdfUsbTargetDeviceGetDeviceDescriptor WdfUsbTargetDeviceRetrieveConfigDescriptor UMDF: IWDFUsbTargetDevice::RetrieveDescriptor USB 描述符 |
UsbDevice.DeviceDescriptor UsbConfiguration.Descriptors UsbInterface.Descriptors UsbInterfaceSetting.Descriptors 如何获取 USB 描述符 |
WinUsb_GetDescriptor WinUsb_QueryInterfaceSettings WinUsb_QueryPipe 向设备查询 USB 描述符 |
2 - 配置设备 以选择活动的 USB 配置和每个接口的设置。
3 - 发送控制传输 ,以配置设备和执行特定于特定设备的供应商命令。
4 - 发送批量传输,通常由传输大量数据的大容量存储设备使用。
5 — 发送中断传输。 读取数据以检索硬件中断数据。
客户端驱动程序 | UWP 应用 | Windows 桌面应用 |
---|---|---|
与批量传输相同 | UsbInterruptInPipe.DataReceived UsbInterruptOutPipe.OutputStream 如何发送 USB 中断传输请求 |
与批量传输相同 |
6 - 发送常量传输,主要用于媒体流式处理设备。
客户端驱动程序 | UWP 应用 | Windows 桌面应用 |
---|---|---|
KMDF: WdfUsbTargetDeviceCreateIsochUrb 如何将数据传输到 USB 常时等量终结点 UMDF: 不支持 |
不支持 | WinUsb_RegisterIsochBuffer WinUsb_UnregisterIsochBuffer WinUsb_WriteIsochPipeAsap WinUsb_ReadIsochPipeAsap WinUsb_WriteIsochPipe WinUsb_ReadIsochPipe WinUsb_GetCurrentFrameNumber WinUsb_GetAdjustedFrameNumber 从 WinUSB 桌面应用发送 USB 常时等量传输 |
7 — USB 选择性挂起 ,允许设备进入低功耗状态,并使设备恢复工作状态。