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 temporäre 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 Instanz von Win32_Process erstellt wird, da die Ereignisklasse __InstanceCreationEvent ist. Weitere Informationen finden Sie in der Dokumentation Windows Management Instrumentation. Der Client empfängt Ereignisse synchron, indem die WaitForNextEvent Methode aufgerufen wird. Dieses Beispiel kann getestet werden, indem ein Prozess gestartet wird, z. B. Editor, während der Beispielcode ausgeführt wird.
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
| Name | Beschreibung |
|---|---|
| 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 wird. |
| ManagementEventWatcher(ManagementScope, EventQuery, EventWatcherOptions) |
Initialisiert eine neue Instanz der ManagementEventWatcher Klasse, die auf Ereignisse lauscht, die der angegebenen WMI-Ereignisabfrage entsprechen, entsprechend den angegebenen Optionen. Bei dieser Variante sind die Abfrage und der Bereich angegebene Objekte. Das Optionsobjekt kann Optionen angeben, z. B. Timeout- und Kontextinformationen. |
| ManagementEventWatcher(ManagementScope, EventQuery) |
Initialisiert eine neue Instanz der ManagementEventWatcher Klasse, die auf Ereignisse lauscht, die der angegebenen WMI-Ereignisabfrage entsprechen. |
| ManagementEventWatcher(String, String, EventWatcherOptions) |
Initialisiert eine neue Instanz der ManagementEventWatcher Klasse, die auf Ereignisse lauscht, die der angegebenen WMI-Ereignisabfrage entsprechen, entsprechend den angegebenen Optionen. Für diese Variante werden die Abfrage und der Bereich als Zeichenfolgen angegeben. Das Optionsobjekt kann Optionen angeben, z. B. timeout- und Kontextinformationen. |
| ManagementEventWatcher(String, String) |
Initialisiert eine neue Instanz der ManagementEventWatcher Klasse, die auf Ereignisse lauscht, die der angegebenen WMI-Ereignisabfrage entsprechen. Für diese Variante werden die Abfrage und der Bereich als Zeichenfolgen angegeben. |
| ManagementEventWatcher(String) |
Initialisiert eine neue Instanz der ManagementEventWatcher Klasse, wenn eine WMI-Ereignisabfrage in Form einer Zeichenfolge angegeben wird. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| CanRaiseEvents |
Ruft einen Wert ab, der angibt, ob die Komponente ein Ereignis auslösen kann. (Geerbt von Component) |
| Container |
Ruft das, das IContainer die Component. (Geerbt von Component) |
| DesignMode |
Ruft einen Wert ab, der angibt, ob sich der Component Entwurfsmodus derzeit befindet. (Geerbt von Component) |
| Events |
Ruft die Liste der Ereignishandler ab, die an diese Componentangefügt sind. (Geerbt von Component) |
| Options |
Ruft die Optionen ab, die zum Überwachen von Ereignissen verwendet werden, oder legt diese fest. |
| Query |
Ruft die Kriterien ab, die auf Ereignisse angewendet werden sollen, oder legt diese fest. |
| Scope |
Ruft den Bereich ab, in dem ereignisse (Namespace oder Bereich) überwacht werden sollen, oder legt diesen fest. |
| Site |
Ruft den ISite von Component ab oder legt ihn fest. (Geerbt von Component) |
Methoden
| Name | Beschreibung |
|---|---|
| CreateObjRef(Type) |
Erstellt ein Objekt, das alle relevanten Informationen enthält, die zum Generieren eines Proxys erforderlich sind, der für die Kommunikation mit einem Remoteobjekt verwendet wird. (Geerbt von MarshalByRefObject) |
| Dispose() |
Veröffentlicht alle ressourcen, die von der Component. (Geerbt von Component) |
| Dispose(Boolean) |
Gibt die nicht verwalteten Ressourcen frei, die von den Component verwalteten Ressourcen verwendet werden, und gibt 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 ausstehende Anrufe gelöscht werden. Dies ist der Destruktor für das Objekt. In C# werden Finalizer mithilfe der Destruktorsyntax ausgedrückt. |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetLifetimeService() |
Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinie für diese Instanz steuert. (Geerbt von MarshalByRefObject) |
| GetService(Type) |
Gibt ein Objekt zurück, das einen Dienst darstellt, der von der Component oder dem zugehörigen ContainerDienst bereitgestellt wird. (Geerbt von Component) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| InitializeLifetimeService() |
Ruft ein Lebensdauerdienstobjekt ab, um die Lebensdauerrichtlinie für diese Instanz zu steuern. (Geerbt von MarshalByRefObject) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| MemberwiseClone(Boolean) |
Erstellt eine flache Kopie des aktuellen MarshalByRefObject Objekts. (Geerbt von MarshalByRefObject) |
| Start() |
Abonniert Ereignisse mit der angegebenen Abfrage und übermittelt sie asynchron über das EventArrived Ereignis. |
| Stop() |
Bricht das Abonnement ab, unabhängig davon, ob es synchron oder asynchron ist. |
| ToString() |
Gibt einen String mit dem Namen des Component, falls vorhanden, zurück. Diese Methode sollte nicht außer Kraft gesetzt werden. (Geerbt von Component) |
| WaitForNextEvent() |
Wartet auf das nächste Ereignis, das der angegebenen Abfrage entspricht, und gibt es dann zurück. |
Ereignisse
| Name | Beschreibung |
|---|---|
| Disposed |
Tritt auf, wenn die Komponente durch einen Aufruf der Dispose() Methode verworfen wird. (Geerbt von Component) |
| EventArrived |
Tritt auf, wenn ein neues Ereignis eintrifft. |
| Stopped |
Tritt auf, wenn ein Abonnement storniert wird. |