Freigeben über


EventWatcherOptions Klasse

Definition

Gibt Optionen für die Überwachung von Verwaltungsereignissen an.

public ref class EventWatcherOptions : System::Management::ManagementOptions
public class EventWatcherOptions : System.Management.ManagementOptions
type EventWatcherOptions = class
    inherit ManagementOptions
Public Class EventWatcherOptions
Inherits ManagementOptions
Vererbung
EventWatcherOptions

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
        string query = "SELECT * FROM" +
            " __InstanceCreationEvent WITHIN 1 " +
            "WHERE TargetInstance isa \"Win32_Process\"";

        // Event options
        EventWatcherOptions eventOptions = new
            EventWatcherOptions();
        eventOptions.Timeout = System.TimeSpan.MaxValue;

        // Initialize an event watcher and subscribe to events
        // that match this query
        ManagementEventWatcher watcher =
            new ManagementEventWatcher("root\\CIMV2", query,
            eventOptions);

        // 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 String
        query = "SELECT * FROM" & _
            " __InstanceCreationEvent WITHIN 1 " & _
            "WHERE TargetInstance isa ""Win32_Process"""

        ' Event options
        Dim eventOptions As New EventWatcherOptions
        eventOptions.Timeout = System.TimeSpan.MaxValue

        ' Initialize an event watcher and subscribe to events 
        ' that match this query
        Dim watcher As New ManagementEventWatcher( _
            "root\CIMV2", query, eventOptions)

        ' 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

EventWatcherOptions()

Initialisiert für die Ereignisüberwachung eine neue Instanz der EventWatcherOptions-Klasse mit Standardwerten. Dies ist der parameterlose Konstruktor.

EventWatcherOptions(ManagementNamedValueCollection, TimeSpan, Int32)

Initialisiert eine neue Instanz der EventWatcherOptions-Klasse mit den angegebenen Werten.

Eigenschaften

BlockSize

Ruft die Blockgröße für Blockoperationen ab oder legt diese fest. Beim Warten auf Ereignisse gibt dieser Wert an, auf wie viele Ereignisse zu warten ist, bevor diese zurückgegeben werden.

Context

Ruft ein WMI-Kontextobjekt ab oder legt dieses fest. Dies ist eine Liste von Name-Wert-Paaren, die zur Übergabe an einen WMI-Anbieter bestimmt ist, der Kontextinformationen für benutzerdefinierte Operationen unterstützt.

(Geerbt von ManagementOptions)
Timeout

Ruft das für die Operation geltende Timeout ab oder legt dieses fest. Beachten Sie Folgendes: Dieses Timeout gilt bei Operationen, die Auflistungen zurückgeben, für die Enumeration der resultierenden Auflistung, aber nicht für die eigentliche Operation (die ReturnImmediately-Eigenschaft wird für die eigentliche Operation verwendet). Mit dieser Eigenschaft wird angegeben, dass die Operation halbsynchron durchzuführen ist.

(Geerbt von ManagementOptions)

Methoden

Clone()

Gibt eine Kopie des Objekts zurück.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für: