PnpObjectWatcher 类

定义

重要

我们不再建议使用 Windows.Devices.Enumeration.Pnp 命名空间中的类型。 相反, Windows.Devices.Enumeration 命名空间中的类型实现了 Windows.Devices.Enumeration.Pnp 功能的新式且维护得更好的超集。

PnpObjectType 的替代方法是 Windows.Devices.Enumeration.DeviceInformationKind 枚举,你可以将其作为参数传递给 Windows.Devices.Enumeration API。 例如,创建 PnpObjectWatcher 时不使用 PnpObjectType,而是在创建 DeviceWatcher 时使用 DeviceInformationKind

引发事件以通知客户端已以增量和异步方式从 Pnp 设备对象的枚举集合中添加、更新或删除 PnpObject

public ref class PnpObjectWatcher sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class PnpObjectWatcher final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class PnpObjectWatcher
Public NotInheritable Class PnpObjectWatcher
继承
Object Platform::Object IInspectable PnpObjectWatcher
属性

Windows 要求

设备系列
Windows 10 (在 10.0.10240.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)

注解

应用调用 “开始”以 开始搜索设备。 在此初始枚举期间,PnpObjectWatcher 会针对找到的每个设备引发 Added 事件,直到找到所有设备。 初始枚举完成后,PnpObjectWatcher 将引发 EnumerationCompleted 事件,并在添加、更新或删除设备时继续引发事件。

下图显示了 PnpObjectWatcher 如何在 DeviceWatcherStatus 枚举表示的状态之间转换。

DeviceWatcher 状态的状态图

仅当 PnpObjectWatcher 处于“已创建”、“已停止”或“已中止”状态时,才能调用 Start 方法。 Status 属性指示 PnpObjectWatcher 状态。 重新启动观察程序时,请等待 Stopped 事件,然后再调用 Start

Stop 的调用会将 PnpObjectWatcher 转换为 “正在停止” 状态并立即完成。 一旦已完成正在引发的所有事件,观察程序将转换为 “已停止” 状态。

调用 Stop 后,如果应用需要知道 PnpObjectWatcher 何时停止,则应用可能会等待 Stopped 事件。 调用方必须等待 Stopped 事件,然后才能调用 Start 来重启观察程序。 如果调用方不想在 停止 后接收任何其他事件,但不想等待 已停止 事件,则调用方可以取消订阅事件。

属性

Status

重要

我们不再建议使用 Windows.Devices.Enumeration.Pnp 命名空间中的类型。 相反, Windows.Devices.Enumeration 命名空间中的类型实现了 Windows.Devices.Enumeration.Pnp 功能的新式且维护得更好的超集。

PnpObjectType 的替代方法是 Windows.Devices.Enumeration.DeviceInformationKind 枚举,你可以将其作为参数传递给 Windows.Devices.Enumeration API。 例如,创建 PnpObjectWatcher 时不使用 PnpObjectType,而是在创建 DeviceWatcher 时使用 DeviceInformationKind

与异步操作关联的状态。

方法

Start()

重要

我们不再建议使用 Windows.Devices.Enumeration.Pnp 命名空间中的类型。 相反, Windows.Devices.Enumeration 命名空间中的类型实现了 Windows.Devices.Enumeration.Pnp 功能的新式且维护得更好的超集。

PnpObjectType 的替代方法是 Windows.Devices.Enumeration.DeviceInformationKind 枚举,你可以将其作为参数传递给 Windows.Devices.Enumeration API。 例如,创建 PnpObjectWatcher 时不使用 PnpObjectType,而是在创建 DeviceWatcher 时使用 DeviceInformationKind

开始引发事件以通知客户端已添加、更新或删除 PnpObject

Stop()

重要

我们不再建议使用 Windows.Devices.Enumeration.Pnp 命名空间中的类型。 相反, Windows.Devices.Enumeration 命名空间中的类型实现了 Windows.Devices.Enumeration.Pnp 功能的新式且维护得更好的超集。

PnpObjectType 的替代方法是 Windows.Devices.Enumeration.DeviceInformationKind 枚举,你可以将其作为参数传递给 Windows.Devices.Enumeration API。 例如,创建 PnpObjectWatcher 时不使用 PnpObjectType,而是在创建 DeviceWatcher 时使用 DeviceInformationKind

停止引发事件以通知客户端已添加、更新或删除 PnpObject

事件

Added

重要

我们不再建议使用 Windows.Devices.Enumeration.Pnp 命名空间中的类型。 相反, Windows.Devices.Enumeration 命名空间中的类型实现了 Windows.Devices.Enumeration.Pnp 功能的新式且维护得更好的超集。

PnpObjectType 的替代方法是 Windows.Devices.Enumeration.DeviceInformationKind 枚举,你可以将其作为参数传递给 Windows.Devices.Enumeration API。 例如,创建 PnpObjectWatcher 时不使用 PnpObjectType,而是在创建 DeviceWatcher 时使用 DeviceInformationKind

将 PnpObject 添加到由 PnpObjectWatcher 枚举的集合时发生。

EnumerationCompleted

重要

我们不再建议使用 Windows.Devices.Enumeration.Pnp 命名空间中的类型。 相反, Windows.Devices.Enumeration 命名空间中的类型实现了 Windows.Devices.Enumeration.Pnp 功能的新式且维护得更好的超集。

PnpObjectType 的替代方法是 Windows.Devices.Enumeration.DeviceInformationKind 枚举,你可以将其作为参数传递给 Windows.Devices.Enumeration API。 例如,创建 PnpObjectWatcher 时不使用 PnpObjectType,而是在创建 DeviceWatcher 时使用 DeviceInformationKind

在完成 Pnp 设备对象的枚举时发生。

Removed

重要

我们不再建议使用 Windows.Devices.Enumeration.Pnp 命名空间中的类型。 相反, Windows.Devices.Enumeration 命名空间中的类型实现了 Windows.Devices.Enumeration.Pnp 功能的新式且维护得更好的超集。

PnpObjectType 的替代方法是 Windows.Devices.Enumeration.DeviceInformationKind 枚举,你可以将其作为参数传递给 Windows.Devices.Enumeration API。 例如,创建 PnpObjectWatcher 时不使用 PnpObjectType,而是在创建 DeviceWatcher 时使用 DeviceInformationKind

PnpObjectWatcher 枚举的集合中删除 PnpObject 时发生。

Stopped

重要

我们不再建议使用 Windows.Devices.Enumeration.Pnp 命名空间中的类型。 相反, Windows.Devices.Enumeration 命名空间中的类型实现了 Windows.Devices.Enumeration.Pnp 功能的新式且维护得更好的超集。

PnpObjectType 的替代方法是 Windows.Devices.Enumeration.DeviceInformationKind 枚举,你可以将其作为参数传递给 Windows.Devices.Enumeration API。 例如,创建 PnpObjectWatcher 时不使用 PnpObjectType,而是在创建 DeviceWatcher 时使用 DeviceInformationKind

PnpObjectWatcher 停止监视对 Pnp 设备对象集合的更改时发生。

Updated

重要

我们不再建议使用 Windows.Devices.Enumeration.Pnp 命名空间中的类型。 相反, Windows.Devices.Enumeration 命名空间中的类型实现了 Windows.Devices.Enumeration.Pnp 功能的新式且维护得更好的超集。

PnpObjectType 的替代方法是 Windows.Devices.Enumeration.DeviceInformationKind 枚举,你可以将其作为参数传递给 Windows.Devices.Enumeration API。 例如,创建 PnpObjectWatcher 时不使用 PnpObjectType,而是在创建 DeviceWatcher 时使用 DeviceInformationKind

更新 由 PnpObjectWatcher 枚举的集合中 PnpObject 的属性时发生。

适用于