ManagementEventWatcher Klasse

Definition

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
ManagementEventWatcher

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.

Gilt für: