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 Platform::Object IInspectable DeviceWatcher
屬性

Windows 需求

裝置系列
Windows 10 (已於 10.0.10240.0 引進)
API contract
Windows.Foundation.UniversalApiContract (已於 v1.0 引進)

範例

如需 C# 和 C++ 的完整範例,請參閱 裝置列舉和配對範例

備註

應用程式會呼叫 Start 開始搜尋裝置。 在這個初始列舉期間,DeviceWatcher 會針對找到的每個裝置引發 Added 事件,直到找到所有裝置為止。 DeviceWatcher 會在初始列舉完成時引發 EnumerationCompleted 事件,並在新增、更新或移除裝置時繼續引發事件。

下圖顯示 DeviceWatcher 如何轉換 DeviceWatcherStatus 列舉所代表的狀態。

DeviceWatcher 狀態的狀態圖

只有在 DeviceWatcher 處於已建立已停止中止狀態時,才能呼叫Start方法。 Status屬性工作表示 DeviceWatcher 狀態。 重新開機監看員時,請先等候 Stopped 事件再呼叫 Start

停止 將 DeviceWatcher 轉換為 [停止 ] 狀態,並立即完成。 監看員會在引發過程中的所有事件都已完成之後,轉換為 已停止 狀態。

如果應用程式需要知道 DeviceWatcher 何時停止,應用程式可能會等待 已停止 事件。 呼叫端必須等候 Stopped 事件,才能呼叫 Start 以重新開機監看員。 如果呼叫端不想在 Stop 之後收到任何其他事件,但不想等候 Stopped 事件,則呼叫端可能會取消訂閱事件。

注意

當有裝置新增、移除或更新時,應用程式必須訂閱所有 新增移除更新 的事件。 如果應用程式只處理 新增 的事件,如果在初始裝置列舉完成之後將裝置新增至系統,則不會收到更新。

屬性

Status

DeviceWatcher的狀態。

方法

GetBackgroundTrigger(IIterable<DeviceWatcherEventKind>)

取得 DeviceWatcherTrigger 物件監視,以監視裝置清單的變更。

Start()

開始搜尋裝置,並訂閱裝置列舉事件。

Stop()

停止引發新增、更新和移除列舉結果的事件。

事件

Added

當裝置加入 DeviceWatcher列舉的集合時引發的事件。

EnumerationCompleted

當裝置列舉完成時所引發的事件。

Removed

從列舉裝置集合中移除裝置時引發的事件。

Stopped

列舉作業停止時所引發的事件。

Updated

在列舉裝置集合中更新裝置時所引發的事件。

適用於

另請參閱