ManagementEventWatcher Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Abonniert die temporären Ereignisbenachrichtigungen basierend auf einer angegebenen Ereignisabfrage.
public ref class ManagementEventWatcher : System::ComponentModel::Component
public class ManagementEventWatcher : System.ComponentModel.Component
type ManagementEventWatcher = class
inherit Component
Public Class ManagementEventWatcher
Inherits Component
- Vererbung
Beispiele
Das folgende Beispiel zeigt, wie der Client eine Benachrichtigung empfängt, wenn eine instance von Win32_Process erstellt wird, da die Ereignisklasse __InstanceCreationEvent ist. Weitere Informationen finden Sie in der Dokumentation zur Windows-Verwaltungsinstrumentation . Der Client empfängt Ereignisse synchron durch Aufrufen der WaitForNextEvent-Methode. Während der Beispielcode ausgeführt wird, kann dieses Beispiel durch Starten eines Prozesses wie Editor getestet werden.
using System;
using System.Management;
// This example shows synchronous consumption of events.
// The client is blocked while waiting for events.
public class EventWatcherPolling
{
public static int Main(string[] args)
{
// Create event query to be notified within 1 second of
// a change in a service
WqlEventQuery query =
new WqlEventQuery("__InstanceCreationEvent",
new TimeSpan(0,0,1),
"TargetInstance isa \"Win32_Process\"");
// Initialize an event watcher and subscribe to events
// that match this query
ManagementEventWatcher watcher =
new ManagementEventWatcher();
watcher.Query = query;
// times out watcher.WaitForNextEvent in 5 seconds
watcher.Options.Timeout = new TimeSpan(0,0,5);
// Block until the next event occurs
// Note: this can be done in a loop if waiting for
// more than one occurrence
Console.WriteLine(
"Open an application (notepad.exe) to trigger an event.");
ManagementBaseObject e = watcher.WaitForNextEvent();
//Display information from the event
Console.WriteLine(
"Process {0} has been created, path is: {1}",
((ManagementBaseObject)e
["TargetInstance"])["Name"],
((ManagementBaseObject)e
["TargetInstance"])["ExecutablePath"]);
//Cancel the subscription
watcher.Stop();
return 0;
}
}
Imports System.Management
' This example shows synchronous consumption of events.
' The client is blocked while waiting for events.
Public Class EventWatcherPolling
Public Overloads Shared Function _
Main(ByVal args() As String) As Integer
' Create event query to be notified within 1 second of
' a change in a service
Dim query As New WqlEventQuery( _
"__InstanceCreationEvent", _
New TimeSpan(0, 0, 1), _
"TargetInstance isa ""Win32_Process""")
' Initialize an event watcher and subscribe to events
' that match this query
Dim watcher As New ManagementEventWatcher
watcher.Query = query
' times watcher.WaitForNextEvent in 5 seconds
watcher.Options.Timeout = New TimeSpan(0, 0, 5)
' Block until the next event occurs
' Note: this can be done in a loop
' if waiting for more than one occurrence
Console.WriteLine( _
"Open an application (notepad.exe) to trigger an event.")
Dim e As ManagementBaseObject = _
watcher.WaitForNextEvent()
'Display information from the event
Console.WriteLine( _
"Process {0} has created, path is: {1}", _
CType(e("TargetInstance"), _
ManagementBaseObject)("Name"), _
CType(e("TargetInstance"), _
ManagementBaseObject)("ExecutablePath"))
'Cancel the subscription
watcher.Stop()
Return 0
End Function 'Main
End Class
Konstruktoren
ManagementEventWatcher() |
Initialisiert eine neue Instanz der ManagementEventWatcher-Klasse. Legen Sie für die weitere Initialisierung die Eigenschaften für das Objekt fest. Dies ist der parameterlose Konstruktor. |
ManagementEventWatcher(EventQuery) |
Initialisiert eine neue Instanz der ManagementEventWatcher-Klasse, wenn eine WMI-Ereignisabfrage angegeben ist. |
ManagementEventWatcher(ManagementScope, EventQuery) |
Initialisiert eine neue Instanz der ManagementEventWatcher-Klasse, die Ereignisse überwacht, die mit der angegebenen WMI-Ereignisabfrage übereinstimmen. |
ManagementEventWatcher(ManagementScope, EventQuery, EventWatcherOptions) |
Initialisiert eine neue Instanz der ManagementEventWatcher-Klasse, die auf Ereignisse lauscht, die mit der angegebenen WMI-Ereignisabfrage gemäß den angegebenen Optionen übereinstimmen. Bei dieser Variante sind die Abfrage und der Gültigkeitsbereich angegebene Objekte. Das Optionsobjekt kann Optionen angeben, z. B. Timeout- und Kontextinformationen. |
ManagementEventWatcher(String) |
Initialisiert eine neue Instanz der ManagementEventWatcher-Klasse, wenn eine WMI-Ereignisabfrage in Form einer Zeichenabfolge vorhanden ist. |
ManagementEventWatcher(String, String) |
Initialisiert eine neue Instanz der ManagementEventWatcher-Klasse, die Ereignisse überwacht, die mit der angegebenen WMI-Ereignisabfrage übereinstimmen. Bei dieser Variante werden die Abfrage und der Gültigkeitsbereich als Zeichenfolgen angegeben. |
ManagementEventWatcher(String, String, EventWatcherOptions) |
Initialisiert eine neue instance der -Klasse, die ManagementEventWatcher gemäß den angegebenen Optionen auf Ereignisse lauscht, die der angegebenen WMI-Ereignisabfrage entsprechen. Bei dieser Variante werden die Abfrage und der Gültigkeitsbereich als Zeichenfolgen angegeben. Das Optionsobjekt kann Optionen angeben, z. B. Timeout- und Kontextinformationen. |
Eigenschaften
CanRaiseEvents |
Ruft einen Wert ab, der angibt, ob die Komponente ein Ereignis auslösen kann. (Geerbt von Component) |
Container |
Ruft die IContainer ab, die in der Component enthalten ist. (Geerbt von Component) |
DesignMode |
Ruft einen Wert ab, der angibt, ob sich Component gegenwärtig im Entwurfsmodus befindet. (Geerbt von Component) |
Events |
Ruft die Liste der Ereignishandler ab, die dieser Component angefügt sind. (Geerbt von Component) |
Options |
Ruft die Optionen für das Überwachen von Ereignissen ab oder legt diese fest. |
Query |
Ruft die für die Ereignisse geltenden Kriterien ab oder legt diese fest. |
Scope |
Ruft den Bereich ab, in dem Ereignisse überwacht werden sollen (Namespace oder Gültigkeitsbereich), oder legt diesen fest. |
Site |
Ruft den ISite von Component ab oder legt ihn fest. (Geerbt von Component) |
Methoden
CreateObjRef(Type) |
Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind. (Geerbt von MarshalByRefObject) |
Dispose() |
Gibt alle vom Component verwendeten Ressourcen frei. (Geerbt von Component) |
Dispose(Boolean) |
Gibt die von Component verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei. (Geerbt von Component) |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
Finalize() |
Stellt sicher, dass unerledigte Aufrufe gelöscht werden. Dies ist der Destruktor für das Objekt. In C# werden Finalizer mit Destruktorsyntax angegeben. |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetLifetimeService() |
Veraltet.
Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert. (Geerbt von MarshalByRefObject) |
GetService(Type) |
Gibt ein Objekt zurück, das einen von der Component oder von deren Container bereitgestellten Dienst darstellt. (Geerbt von Component) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
InitializeLifetimeService() |
Veraltet.
Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab. (Geerbt von MarshalByRefObject) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
MemberwiseClone(Boolean) |
Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts. (Geerbt von MarshalByRefObject) |
Start() |
Abonniert mit der angegebenen Abfrage Ereignisse und übermittelt sie asynchron über das EventArrived-Ereignis. |
Stop() |
Hebt das Abonnement auf, unabhängig davon, ob es synchron oder asynchron ist. |
ToString() |
Gibt einen String zurück, der den Namen der Component enthält (sofern vorhanden). Diese Methode darf nicht überschrieben werden. (Geerbt von Component) |
WaitForNextEvent() |
Wartet auf das Eintreffen des nächsten Ereignisses, das mit der angegebenen Abfrage übereinstimmt, und gibt es anschließend zurück. |
Ereignisse
Disposed |
Tritt auf, wenn die Komponente von einem Aufruf der Dispose()-Methode verworfen wird. (Geerbt von Component) |
EventArrived |
Tritt beim Eintreffen eines neuen Ereignisses ein. |
Stopped |
Tritt ein, wenn ein Abonnement aufgehoben wird. |