DeviceWatcher 类

定义

动态枚举设备,以便在初始枚举完成后添加、删除或更改设备时,应用会收到通知。

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
继承
Object IInspectable DeviceWatcher
属性

Windows 要求

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

示例

有关 C# 和 C++ 中的完整示例,请参阅 设备枚举和配对示例

注解

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

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

DeviceWatcher 状态的状态图

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

停止 将 DeviceWatcher 转换为 “停止 ”状态,并立即完成。 观察程序将在引发过程中已完成的所有事件后转换为 “已停止 ”状态。

如果应用需要知道 DeviceWatcher 何时停止,应用可能会等待 “已停止 ”事件。 调用方必须等待 “已停止 ”事件,然后才能调用 “开始” 以重启观察程序。 如果调用方不想在 停止 后收到任何其他事件,但不想等待 已停止 的事件,则调用方可能会取消订阅事件。

备注

应用必须订阅添加、删除和更新的所有 已添加已删除更新 事件,才能在有设备添加、删除或更新时收到通知。 如果应用仅处理 已添加 的事件,则当初始设备枚举完成后将设备添加到系统中时,它将不会收到更新。

属性

Status

DeviceWatcher 的状态。

方法

GetBackgroundTrigger(IIterable<DeviceWatcherEventKind>)

获取 DeviceWatcherTrigger 对象监视,以监视设备列表的更改。

Start()

开始搜索设备,并订阅设备枚举事件。

Stop()

停止引发添加、更新和删除枚举结果的事件。

事件

Added

将设备添加到 DeviceWatcher 枚举的集合时引发的事件。

EnumerationCompleted

设备枚举完成后引发的事件。

Removed

从枚举设备集合中删除设备时引发的事件。

Stopped

枚举操作停止时引发的事件。

Updated

在枚举设备集合中更新设备时引发的事件。

适用于

另请参阅