DeviceWatcher 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
动态枚举设备,以便在初始枚举完成后添加、删除或更改设备时,应用会收到通知。
public ref class DeviceWatcher sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class DeviceWatcher final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class DeviceWatcher
Public NotInheritable Class DeviceWatcher
- 继承
- 属性
Windows 要求
设备系列 |
Windows 10 (在 10.0.10240.0 中引入)
|
API contract |
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)
|
示例
有关 C# 和 C++ 中的完整示例,请参阅 设备枚举和配对示例。
注解
应用调用 “开始” 以开始搜索设备。 在此初始枚举期间,DeviceWatcher 会为找到的每个设备引发 Added 事件,直到找到所有设备。 当初始枚举完成时,DeviceWatcher 将引发 EnumerationCompleted 事件,并在添加、更新或删除设备时继续引发事件。
下图显示了 DeviceWatcher 如何在 DeviceWatcherStatus 枚举表示的状态之间转换。
仅当 DeviceWatcher 处于“创建”、“已停止”或“已中止”状态时,才能调用 Start 方法。 Status 属性指示 DeviceWatcher 状态。 重新启动观察程序时,请等待 已停止 事件,然后再调用 Start。
停止 会将 DeviceWatcher 转换为 “正在停止” 状态并立即完成。 一旦已引发的所有事件都已完成,观察程序将转换为“ 已停止 ”状态。
如果应用需要知道 DeviceWatcher 何时停止,则应用可能会等待 停止 事件。 调用方必须先等待 “已停止 ”事件,然后才能调用 Start 以重启观察程序。 如果调用方不想在 停止 后接收任何其他事件,但不想等待 已停止 事件,可以取消订阅事件。
属性
Status |
DeviceWatcher 的状态。 |
方法
GetBackgroundTrigger(IIterable<DeviceWatcherEventKind>) |
获取设备列表更改的 DeviceWatcherTrigger 对象监视。 |
Start() |
开始搜索设备,并订阅设备枚举事件。 |
Stop() |
停止引发添加、更新和删除枚举结果的事件。 |
事件
Added |
将设备添加到 DeviceWatcher 枚举的集合时引发的事件。 |
EnumerationCompleted |
设备枚举完成时引发的事件。 |
Removed |
从枚举设备集合中删除设备时引发的事件。 |
Stopped |
枚举操作已停止时引发的事件。 |
Updated |
在枚举设备集合中更新设备时引发的事件。 |