适用于内部设备的 UWP 设备应用

Important

设备元数据已弃用,并将在 Windows 的将来版本中删除。 有关替代功能的信息,请参阅驱动程序包容器元数据

本主题介绍 UWP 设备应用可以访问内部设备的方式。 Internal devices are devices that reside inside or are integrated with the PC enclosure.

本主题中提到的一些 API 也可用于访问外部设备。 本主题重点介绍访问内部设备。 有关每个 API 的详细信息,请参阅 Windows API 参考

访问内部设备

UWP 应用可通过三种方式访问内部设备:

Recommended? API 开发人员 是否需要设备元数据?
Yes 设备场景 API(图像捕获、扫描等) all developers no
Yes 设备协议 API (USB、HID 等) OEM 是(仅适用于内部设备)
No 自定义驱动程序访问 OEM yes

设备场景 API

Windows 运行时提供了多个 API,用于访问内置或附加到电脑的常见设备,例如用于图像捕获、扫描、打印和使用运动传感器的 API。 由于这些 API 设计时考虑到了特定方案,因此它们称为 设备方案 API。 设备方案 API 可供所有开发人员使用,无需使用任何设备元数据。 For more info about scenario APIs, see Integrating devices.

超出设备场景 API 提供的任何访问权限都仅限于 OEM(或与 OEM 协同工作的组件供应商),并且需要所需的系统容器设备元数据。

设备协议 API

当 OEM/组件供应商需要访问内部设备,而方案 API 无法满足这种需求时,他们可以使用 设备协议 API。 设备协议 API 是 UWP 应用可用于访问 USB 和人机接口设备(HID)的 Windows 运行时 API。 访问类型因 API 而异。

设备协议 API Namespace Access type
USB Windows.Devices.Usb 独占读取和独占写入
HID Windows.Devices.HumanInterfaceDevice 共享读取和独占写入

若要访问仅使用Microsoft类驱动程序(设备协议 API 最常见的用途)的外围设备,则不需要设备元数据。 但是,若要使用这些 API 访问内部设备,需要元数据。 访问内部设备时,必须在设备元数据中将应用指定为系统容器的特权应用。 此要求限制对 OEM 的内部设备访问。

有关详细信息,请参阅:

自定义驱动程序访问

当 OEM 或 IHV 无法使用设备协议 API 访问其(内部或外围设备)设备时,应首先联系Microsoft,以便与 Windows 生态系统团队讨论其方案。 在某些情况下(Microsoft批准后)UWP 设备应用可以直接访问自定义驱动程序。

自定义驱动程序访问需要设备元数据。 若要访问自定义驱动程序,必须在设备元数据中将应用指定为外围设备或系统容器的特权应用。 有关自定义驱动程序访问的详细信息,请参阅 电脑内部专用设备的 UWP 设备应用设计指南

Component suppliers

组件供应商可与 OEM 合作,为其内部设备开发 UWP 设备应用。 这可以通过以下几种方式发生:

  • 组件供应商开发和分发应用:在这种情况下,组件供应商拥有、开发和分发访问内部设备的应用和驱动程序。 OEM 拥有设备元数据。

  • OEM 开发和分发应用:在这种情况下,OEM 开发并分发从不同组件供应商访问一个或多个内部设备的应用。 OEM 最终拥有应用开发、应用分发和设备元数据维护。 组件供应商拥有驱动程序。

有关这些工作流的详细信息,请参阅 电脑内部专用设备的 UWP 设备应用设计指南