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

此主题介绍 UWP 设备应用访问内部设备的方式。 内部设备是驻留在电脑机箱内或与电脑机箱集成的设备。

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

访问内部设备

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

建议? API 开发人员 是否需要设备元数据?
设备方案 API(图像捕获、扫描等) 所有开发人员
设备协议 API(USB、HID 等) OEM 是(仅适用于内部设备)
自定义驱动程序访问 OEM

设备方案 API

Windows 运行时提供多个 API,用于访问内置或连接到电脑的常见设备,例如用于图像捕获、扫描、打印和使用运动传感器的 API。 由于这些 API 在设计时考虑了特定方案,因此它们称为设备方案 API。 设备方案 API 可供所有开发人员使用,无需使用任何设备元数据。 有关方案 API 的详细信息,请参阅集成设备

超出设备方案 API 提供范围的任何访问都仅限于 OEM(或与 OEM 合作的组件供应商),并且需要系统容器的设备元数据。

设备协议 API

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

设备协议 API 命名空间 访问类型
USB Windows.Devices.Usb 独占读取和独占写入
HID Windows.Devices.HumanInterfaceDevice 共享读取和独占写入

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

有关详细信息,请参阅:

自定义驱动程序访问

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

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

组件供应商

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

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

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

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

识别内部相机的位置(UWP 设备应用)