USB 设备的 UWP 应用

Windows.Devices.Usb 命名空间为 Windows 应用提供了一种与使用 WinUSB (Winusb.sys) 作为设备驱动程序的外部 USB 设备通信的方式。

本节内容

项目 说明
与 USB 设备通信,从开始到完成(UWP 应用) 使用 Windows 8.1 中引入的 Windows 运行时 API 编写可让用户访问其外围 USB 设备的 UWP 应用。 此类应用可以根据用户指定的条件连接到设备、获取有关设备的信息、向设备发送数据并反之从设备获取数据流,以及轮询设备以获取中断数据。
如何将 USB 设备功能添加到应用部件清单 本文介绍使用 Windows.Devices.Usb 命名空间的 Windows 应用所需的设备功能。
如何连接到 USB 设备(UWP 应用) 在 Windows 8.1 中,可以编写与 USB 设备交互的 UWP 应用。 应用可以发送控制命令、获取设备信息,以及向/从批量和中断终结点读取和写入数据。 在完成所有这些操作之前,必须找到设备并建立连接。

在本部分中,你将了解如何使用 DeviceWatcher 对象查找设备,然后打开它以开始与应用进行通信。 你还将了解如何在使用完设备后关闭设备。
如何发送 USB 控制传输(UWP 应用) 与 USB 设备通信的应用通常发送多个控制传输请求。 这些请求获取有关设备的信息,并发送由硬件供应商定义的控制命令。 在本文中,你将了解控件传输以及如何在 UWP 应用中格式化和发送它们。
如何发送 USB 中断传输请求(UWP 应用) USB 设备可以支持中断终结点,以便它可以定期发送或接收数据。 为此,主机定期轮询设备,并在每次主机轮询设备时传输数据。 中断传输主要用于从设备获取中断数据。 本文介绍 UWP 应用如何从设备获取连续中断数据。
如何将发送 USB 大容量传输请求(UWP 应用) 本文介绍 USB 批量传输以及如何从 UWP 应用发起与 USB 设备通信的传输请求。
如何获取 USB 描述符(UWP 应用) 与 USB 设备交互main任务之一是获取有关它的信息。 所有 USB 设备都以称为描述符的多个数据结构的形式提供信息。 本文介绍 UWP 应用如何在终结点、接口、配置和设备级别从设备获取描述符。
如何选择 USB 接口设置(UWP 应用) 在本文中,你将了解如何更改 USB 接口中的设置。 使用 UsbInterfaceSetting 对象获取当前设置并在接口中设置设置。

USB 示例

命名空间有哪些限制?

在以下情况下 ,不能 使用 Windows.Devices.Usb

  • 如果设备驱动程序未 Winusb.sys。

  • 你想要与设备的 USB 常时等量终结点通信。

  • 你想要传达 SuperSpeed 批量终结点的流。 对于这些终结点,用于批量传输的 USB Windows 运行时类只能从终结点的第一个流发送或接收数据。

  • 允许多个应用同时访问设备。

  • USB 设备是内部设备。

    注意

    这些 API 主要是为访问外围设备而设计的。 该 API 还可以访问电脑内部的 USB 设备。 但是,从 UWP 应用访问电脑内部 USB 设备仅限于由 OEM 为该电脑显式声明的特权应用。

  • 内核模式设备堆栈具有高于 Winusb.sys 的筛选器驱动程序。

    注意

    此方案仅适用于特权应用。

  • 你的设备有多个 USB 配置,并且你想要选择一个配置,而不是第一个配置。 默认情况下,Windows.Devices.Usb 会选择第一个配置。