PnpObjectWatcher 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重要
我们不再建议使用 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
- 继承
- 属性
Windows 要求
设备系列 |
Windows 10 (在 10.0.10240.0 中引入)
|
API contract |
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)
|
注解
应用调用 “开始”以 开始搜索设备。 在此初始枚举期间,PnpObjectWatcher 会针对找到的每个设备引发 Added 事件,直到找到所有设备。 初始枚举完成后,PnpObjectWatcher 将引发 EnumerationCompleted 事件,并在添加、更新或删除设备时继续引发事件。
下图显示了 PnpObjectWatcher 如何在 DeviceWatcherStatus 枚举表示的状态之间转换。
仅当 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 的属性时发生。 |