ManagementEventWatcher Konstruktoren

Definition

Initialisiert eine neue Instanz der ManagementEventWatcher-Klasse.

Überlädt

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(String)

Initialisiert eine neue Instanz der ManagementEventWatcher Klasse, wenn eine WMI-Ereignisabfrage in Form einer Zeichenfolge angegeben wird.

ManagementEventWatcher(ManagementScope, EventQuery)

Initialisiert eine neue Instanz der ManagementEventWatcher Klasse, die auf Ereignisse lauscht, die der angegebenen WMI-Ereignisabfrage entsprechen.

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(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(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()

Quelle:
ManagementEventWatcher.cs
Quelle:
ManagementEventWatcher.cs
Quelle:
ManagementEventWatcher.cs
Quelle:
ManagementEventWatcher.cs

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.

public:
 ManagementEventWatcher();
public ManagementEventWatcher();
Public Sub New ()

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

Hinweise

.NET Framework-Sicherheit

Volle Vertrauenswürdigstellung für den unmittelbaren Anrufer. Dieses Element kann nicht von teilweise vertrauenswürdigem Code verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigen Code.

Gilt für:

ManagementEventWatcher(EventQuery)

Quelle:
ManagementEventWatcher.cs
Quelle:
ManagementEventWatcher.cs
Quelle:
ManagementEventWatcher.cs
Quelle:
ManagementEventWatcher.cs

Initialisiert eine neue Instanz der ManagementEventWatcher Klasse, wenn eine WMI-Ereignisabfrage angegeben wird.

public:
 ManagementEventWatcher(System::Management::EventQuery ^ query);
public ManagementEventWatcher(System.Management.EventQuery query);
new System.Management.ManagementEventWatcher : System.Management.EventQuery -> System.Management.ManagementEventWatcher
Public Sub New (query As EventQuery)

Parameter

query
EventQuery

Eine EventQuery WMI-Ereignisabfrage, die die Ereignisse bestimmt, für die der Watcher lauscht.

Beispiele

In diesem Codebeispiel empfängt der Client Benachrichtigungen, 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
        string query =
            "SELECT * FROM __InstanceCreationEvent "
            + "WITHIN 1 WHERE " +
            "TargetInstance isa \"Win32_Process\"";

        // Initialize an event watcher and subscribe to events
        // that match this query
        ManagementEventWatcher watcher =
            new ManagementEventWatcher(new EventQuery(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 String
        query = "SELECT * FROM __InstanceCreationEvent " _
            & "WITHIN 1 WHERE " & _
            "TargetInstance isa ""Win32_Process"""

        ' Initialize an event watcher and subscribe to events 
        ' that match this query
        Dim watcher As New ManagementEventWatcher(New EventQuery( _
        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

Hinweise

Der Namespace, in dem der Watcher auf Ereignisse lauscht, ist der standardnamespace, der derzeit festgelegt ist.

.NET Framework-Sicherheit

Volle Vertrauenswürdigstellung für den unmittelbaren Anrufer. Dieses Element kann nicht von teilweise vertrauenswürdigem Code verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigen Code.

Gilt für:

ManagementEventWatcher(String)

Quelle:
ManagementEventWatcher.cs
Quelle:
ManagementEventWatcher.cs
Quelle:
ManagementEventWatcher.cs
Quelle:
ManagementEventWatcher.cs

Initialisiert eine neue Instanz der ManagementEventWatcher Klasse, wenn eine WMI-Ereignisabfrage in Form einer Zeichenfolge angegeben wird.

public:
 ManagementEventWatcher(System::String ^ query);
public ManagementEventWatcher(string query);
new System.Management.ManagementEventWatcher : string -> System.Management.ManagementEventWatcher
Public Sub New (query As String)

Parameter

query
String

Eine WMI-Ereignisabfrage, die die Ereignisse definiert, für die der Watcher lauscht.

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

        // Initialize an event watcher and subscribe to events
        // that match this query
        ManagementEventWatcher watcher =
            new ManagementEventWatcher(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 String
        query = "SELECT * FROM __InstanceCreationEvent " _
            & "WITHIN 1 WHERE " & _
            "TargetInstance isa ""Win32_Process"""

        ' Initialize an event watcher and subscribe to events 
        ' that match this query
        Dim watcher As New ManagementEventWatcher(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

Hinweise

Der Namespace, in dem der Watcher auf Ereignisse lauscht, ist der standardnamespace, der derzeit festgelegt ist.

.NET Framework-Sicherheit

Volle Vertrauenswürdigstellung für den unmittelbaren Anrufer. Dieses Element kann nicht von teilweise vertrauenswürdigem Code verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigen Code.

Gilt für:

ManagementEventWatcher(ManagementScope, EventQuery)

Quelle:
ManagementEventWatcher.cs
Quelle:
ManagementEventWatcher.cs
Quelle:
ManagementEventWatcher.cs
Quelle:
ManagementEventWatcher.cs

Initialisiert eine neue Instanz der ManagementEventWatcher Klasse, die auf Ereignisse lauscht, die der angegebenen WMI-Ereignisabfrage entsprechen.

public:
 ManagementEventWatcher(System::Management::ManagementScope ^ scope, System::Management::EventQuery ^ query);
public ManagementEventWatcher(System.Management.ManagementScope scope, System.Management.EventQuery query);
new System.Management.ManagementEventWatcher : System.Management.ManagementScope * System.Management.EventQuery -> System.Management.ManagementEventWatcher
Public Sub New (scope As ManagementScope, query As EventQuery)

Parameter

scope
ManagementScope

A ManagementScope representing the scope (namespace) in which the watcher will listen for events.

query
EventQuery

Eine EventQuery WMI-Ereignisabfrage, die die Ereignisse bestimmt, für die der Watcher lauscht.

Beispiele

In diesem Codebeispiel empfängt der Client Benachrichtigungen, 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
        string query =
            "SELECT * FROM __InstanceCreationEvent "
            + "WITHIN 1 WHERE " +
            "TargetInstance isa \"Win32_Process\"";

        // Initialize an event watcher and subscribe to events
        // that match this query
        ManagementEventWatcher watcher =
            new ManagementEventWatcher(
            new ManagementScope("root\\CIMV2"),
            new EventQuery(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 String
        query = "SELECT * FROM __InstanceCreationEvent " _
            & "WITHIN 1 WHERE " & _
            "TargetInstance isa ""Win32_Process"""

        ' Initialize an event watcher and subscribe to events 
        ' that match this query
        Dim watcher As New ManagementEventWatcher( _
            New ManagementScope("root\CIMV2"), _
            New EventQuery(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

Hinweise

.NET Framework-Sicherheit

Volle Vertrauenswürdigstellung für den unmittelbaren Anrufer. Dieses Element kann nicht von teilweise vertrauenswürdigem Code verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigen Code.

Gilt für:

ManagementEventWatcher(String, String)

Quelle:
ManagementEventWatcher.cs
Quelle:
ManagementEventWatcher.cs
Quelle:
ManagementEventWatcher.cs
Quelle:
ManagementEventWatcher.cs

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.

public:
 ManagementEventWatcher(System::String ^ scope, System::String ^ query);
public ManagementEventWatcher(string scope, string query);
new System.Management.ManagementEventWatcher : string * string -> System.Management.ManagementEventWatcher
Public Sub New (scope As String, query As String)

Parameter

scope
String

Der Verwaltungsbereich (Namespace), in dem der Watcher auf Ereignisse lauscht.

query
String

Die Abfrage, die die Ereignisse definiert, für die der Watcher lauscht.

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

        // Initialize an event watcher and subscribe to events
        // that match this query
        ManagementEventWatcher watcher =
            new ManagementEventWatcher("root\\CIMV2",
            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 String
        query = "SELECT * FROM __InstanceCreationEvent " _
            & "WITHIN 1 WHERE " & _
            "TargetInstance isa ""Win32_Process"""

        ' Initialize an event watcher and subscribe to events 
        ' that match this query
        Dim watcher As New ManagementEventWatcher( _
            "root\CIMV2", 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

Hinweise

.NET Framework-Sicherheit

Volle Vertrauenswürdigstellung für den unmittelbaren Anrufer. Dieses Element kann nicht von teilweise vertrauenswürdigem Code verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigen Code.

Gilt für:

ManagementEventWatcher(ManagementScope, EventQuery, EventWatcherOptions)

Quelle:
ManagementEventWatcher.cs
Quelle:
ManagementEventWatcher.cs
Quelle:
ManagementEventWatcher.cs
Quelle:
ManagementEventWatcher.cs

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.

public:
 ManagementEventWatcher(System::Management::ManagementScope ^ scope, System::Management::EventQuery ^ query, System::Management::EventWatcherOptions ^ options);
public ManagementEventWatcher(System.Management.ManagementScope scope, System.Management.EventQuery query, System.Management.EventWatcherOptions options);
new System.Management.ManagementEventWatcher : System.Management.ManagementScope * System.Management.EventQuery * System.Management.EventWatcherOptions -> System.Management.ManagementEventWatcher
Public Sub New (scope As ManagementScope, query As EventQuery, options As EventWatcherOptions)

Parameter

scope
ManagementScope

A ManagementScope representing the scope (namespace) in which the watcher will listen for events.

query
EventQuery

Eine EventQuery WMI-Ereignisabfrage, die die Ereignisse bestimmt, für die der Watcher lauscht.

options
EventWatcherOptions

Eine EventWatcherOptions Darstellung zusätzlicher Optionen, die zum Überwachen von Ereignissen verwendet werden.

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

        // Event options
        // blockSize = 1, so wait for 1 event to return
        EventWatcherOptions options = new EventWatcherOptions(
            null, TimeSpan.MaxValue, 1);

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

        // 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
        ' blockSize = 1, so wait for 1 event to return
        Dim options As New EventWatcherOptions( _
            Nothing, TimeSpan.MaxValue, 1)


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

        ' 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

Hinweise

.NET Framework-Sicherheit

Volle Vertrauenswürdigstellung für den unmittelbaren Anrufer. Dieses Element kann nicht von teilweise vertrauenswürdigem Code verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigen Code.

Gilt für:

ManagementEventWatcher(String, String, EventWatcherOptions)

Quelle:
ManagementEventWatcher.cs
Quelle:
ManagementEventWatcher.cs
Quelle:
ManagementEventWatcher.cs
Quelle:
ManagementEventWatcher.cs

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.

public:
 ManagementEventWatcher(System::String ^ scope, System::String ^ query, System::Management::EventWatcherOptions ^ options);
public ManagementEventWatcher(string scope, string query, System.Management.EventWatcherOptions options);
new System.Management.ManagementEventWatcher : string * string * System.Management.EventWatcherOptions -> System.Management.ManagementEventWatcher
Public Sub New (scope As String, query As String, options As EventWatcherOptions)

Parameter

scope
String

Der Verwaltungsbereich (Namespace), in dem der Watcher auf Ereignisse lauscht.

query
String

Die Abfrage, die die Ereignisse definiert, für die der Watcher lauscht.

options
EventWatcherOptions

Eine EventWatcherOptions Darstellung zusätzlicher Optionen, die zum Überwachen von Ereignissen verwendet werden.

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

        // Event options
        // blockSize = 1, so wait for 1 event to return
        EventWatcherOptions options = new EventWatcherOptions(
            null, TimeSpan.MaxValue, 1);

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

        // 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
        ' blockSize = 1, so wait for 1 event to return
        Dim options As New EventWatcherOptions( _
            Nothing, TimeSpan.MaxValue, 1)


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

        ' 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

Hinweise

.NET Framework-Sicherheit

Volle Vertrauenswürdigstellung für den unmittelbaren Anrufer. Dieses Element kann nicht von teilweise vertrauenswürdigem Code verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigen Code.

Gilt für: