Freigeben über


DeviceWatcher Klasse

Definition

Listet Geräte dynamisch auf, sodass die App Benachrichtigungen empfängt, wenn Geräte hinzugefügt, entfernt oder geändert werden, nachdem die anfängliche Enumeration abgeschlossen ist.

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
Vererbung
Object Platform::Object IInspectable DeviceWatcher
Attribute

Windows-Anforderungen

Gerätefamilie
Windows 10 (eingeführt in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)

Beispiele

Vollständige Beispiele in C# und C++ finden Sie im Beispiel zur Geräteaufzählung und Kopplung.

Hinweise

Eine App ruft Start auf, um mit der Suche nach Geräten zu beginnen. Während dieser anfänglichen Enumeration löst DeviceWatcher für jedes gefundene Gerät ein Add-Ereignis aus, bis alle Geräte gefunden werden. DeviceWatcher löst ein EnumerationCompleted-Ereignis aus, wenn die erste Enumeration abgeschlossen ist, und löst weiterhin Ereignisse aus, wenn ein Gerät hinzugefügt, aktualisiert oder entfernt wird.

Das folgende Diagramm zeigt, wie deviceWatcher zwischen den durch die DeviceWatcherStatus-Enumeration dargestellten Zuständen wechselt.

Zustandsdiagramm der DeviceWatcher-Zustände

Die Start-Methode kann nur aufgerufen werden, wenn sich deviceWatcher im Zustand Erstellt, Beendet oder Abgebrochen befindet . Die Status-Eigenschaft gibt den DeviceWatcher-Zustand an. Warten Sie beim erneuten Starten des Watchers auf das Ereignis Stopped , bevor Sie Start aufrufen.

Beenden überwechselt den DeviceWatcher in den Status Beenden und schließt sofort ab. Der Watcher wechselt in den Status Beendet , sobald alle Ereignisse abgeschlossen sind, die bereits ausgelöst werden.

Apps warten möglicherweise auf das Ereignis Beendet , wenn sie wissen müssen, wann deviceWatcher beendet wurde. Anrufer müssen auf das Ereignis Beendet warten, bevor sie Start aufrufen können, um den Watcher neu zu starten. Anrufer können Ereignisse abbestellen, wenn sie nach dem Beenden keine weiteren Ereignisse erhalten möchten, aber nicht auf das Beendete Ereignis warten möchten.

Hinweis

Eine App muss alle hinzugefügten, entfernten und aktualisierten Ereignisse abonnieren, um benachrichtigt zu werden, wenn Gerätezugänge, Entfernungen oder Updates vorhanden sind. Wenn eine App nur das hinzugefügte Ereignis verarbeitet, erhält sie kein Update, wenn ein Gerät dem System hinzugefügt wird, nachdem die anfängliche Geräteaufzählung abgeschlossen ist.

Eigenschaften

Status

Die status des DeviceWatcher.

Methoden

GetBackgroundTrigger(IIterable<DeviceWatcherEventKind>)

Ruft eine DeviceWatcherTrigger-Objektüberwachung für Änderungen an der Geräteliste ab.

Start()

Startet eine Suche nach Geräten und abonniert Geräteaufzählungsereignisse.

Stop()

Beenden Sie das Auslösen der Ereignisse, die Enumerationsergebnisse hinzufügen, aktualisieren und entfernen.

Ereignisse

Added

Ereignis, das ausgelöst wird, wenn ein Gerät der auflistung hinzugefügt wird, die vom DeviceWatcher aufgelistet wird.

EnumerationCompleted

Ereignis, das ausgelöst wird, wenn die Enumeration der Geräte abgeschlossen ist.

Removed

Ereignis, das ausgelöst wird, wenn ein Gerät aus der Auflistung der aufgelisteten Geräte entfernt wird.

Stopped

Ereignis, das ausgelöst wird, wenn der Enumerationsvorgang beendet wurde.

Updated

Ereignis, das ausgelöst wird, wenn ein Gerät in der Auflistung der aufgelisteten Geräte aktualisiert wird.

Gilt für:

Weitere Informationen