用于 USB 设备的 UWP 应用

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

本部分内容

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

在本部分中,你将了解如何使用 DeviceWatcher 对象查找设备,然后打开它以开始从应用进行通信。 你还将了解如何在使用完设备时关闭设备。
如何发送 USB 控制传输(UWP 应用) 与 USB 设备通信的应用通常发送多个控制传输请求。 这些请求获取有关设备的信息,并发送硬件供应商定义的控制命令。 在本文中,你将了解控制传输以及如何在 UWP 应用中设置和发送它们的格式。
如何发送 USB 中断传输请求(UWP 应用) USB 设备可以支持中断终结点,以便它可以定期发送或接收数据。 为此,主机会定期轮询设备,每次主机轮询设备时都会传输数据。 中断传输主要用于从设备获取中断数据。 本文介绍了 UWP 应用如何从设备获取连续中断数据。
如何发送 USB 大容量传输请求(UWP 应用) 在本文中,你将了解 USB 大容量传输,以及如何从与 USB 设备通信的 UWP 应用启动传输请求。
如何获取 USB 描述符(UWP 应用) 与 USB 设备交互的主要任务之一是获取有关它的信息。 所有 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 默认选择第一个配置。