Freigeben über


ManagementEventWatcher Klasse

Definition

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
ManagementEventWatcher

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.

Gilt für: