ManagementEventWatcher Constructors

Definitie

Initialiseert een nieuw exemplaar van de ManagementEventWatcher klasse.

Overloads

Name Description
ManagementEventWatcher()

Initialiseert een nieuw exemplaar van de ManagementEventWatcher klasse. Voor verdere initialisatie stelt u de eigenschappen voor het object in. Dit is de parameterloze constructor.

ManagementEventWatcher(EventQuery)

Initialiseert een nieuw exemplaar van de ManagementEventWatcher klasse wanneer een WMI-gebeurtenisquery wordt gegeven.

ManagementEventWatcher(String)

Initialiseert een nieuw exemplaar van de ManagementEventWatcher klasse wanneer een WMI-gebeurtenisquery wordt gegeven in de vorm van een tekenreeks.

ManagementEventWatcher(ManagementScope, EventQuery)

Initialiseert een nieuw exemplaar van de ManagementEventWatcher klasse die luistert naar gebeurtenissen die voldoen aan de opgegeven WMI-gebeurtenisquery.

ManagementEventWatcher(String, String)

Initialiseert een nieuw exemplaar van de ManagementEventWatcher klasse die luistert naar gebeurtenissen die voldoen aan de opgegeven WMI-gebeurtenisquery. Voor deze variant worden de query en het bereik opgegeven als tekenreeksen.

ManagementEventWatcher(ManagementScope, EventQuery, EventWatcherOptions)

Initialiseert een nieuw exemplaar van de ManagementEventWatcher klasse die luistert naar gebeurtenissen die voldoen aan de opgegeven WMI-gebeurtenisquery, volgens de opgegeven opties. Voor deze variant worden de query en het bereik opgegeven objecten. Het optiesobject kan opties opgeven, zoals time-out en contextinformatie.

ManagementEventWatcher(String, String, EventWatcherOptions)

Initialiseert een nieuw exemplaar van de ManagementEventWatcher klasse die luistert naar gebeurtenissen die voldoen aan de opgegeven WMI-gebeurtenisquery, volgens de opgegeven opties. Voor deze variant worden de query en het bereik opgegeven als tekenreeksen. Het optiesobject kan opties opgeven, zoals een time-out en contextinformatie.

ManagementEventWatcher()

Bron:
ManagementEventWatcher.cs
Bron:
ManagementEventWatcher.cs
Bron:
ManagementEventWatcher.cs
Bron:
ManagementEventWatcher.cs

Initialiseert een nieuw exemplaar van de ManagementEventWatcher klasse. Voor verdere initialisatie stelt u de eigenschappen voor het object in. Dit is de parameterloze constructor.

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

Voorbeelden

In het volgende voorbeeld ziet u hoe de client een melding ontvangt wanneer een exemplaar van Win32_Process wordt gemaakt omdat de gebeurtenisklasse is __InstanceCreationEvent. Zie de documentatie Windows Management Instrumentation voor meer informatie. De client ontvangt synchroon gebeurtenissen door de WaitForNextEvent methode aan te roepen. Dit voorbeeld kan worden getest door een proces te starten, zoals Kladblok, terwijl de voorbeeldcode wordt uitgevoerd.

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

Opmerkingen

.NET Framework-beveiliging

Volledig vertrouwen voor de directe beller. Dit lid kan niet worden gebruikt door gedeeltelijk vertrouwde code. Zie Bibliotheken van gedeeltelijk vertrouwde code gebruiken voor meer informatie.

Van toepassing op

ManagementEventWatcher(EventQuery)

Bron:
ManagementEventWatcher.cs
Bron:
ManagementEventWatcher.cs
Bron:
ManagementEventWatcher.cs
Bron:
ManagementEventWatcher.cs

Initialiseert een nieuw exemplaar van de ManagementEventWatcher klasse wanneer een WMI-gebeurtenisquery wordt gegeven.

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)

Parameters

query
EventQuery

Een EventQuery weergave van een WMI-gebeurtenisquery, waarmee de gebeurtenissen worden bepaald waarvoor de watcher luistert.

Voorbeelden

In dit codevoorbeeld ontvangt de client een melding wanneer een exemplaar van Win32_Process wordt gemaakt omdat de gebeurtenisklasse is __InstanceCreationEvent. Zie de documentatie Windows Management Instrumentation voor meer informatie. De client ontvangt synchroon gebeurtenissen door de WaitForNextEvent methode aan te roepen. Dit voorbeeld kan worden getest door een proces te starten, zoals Kladblok, terwijl de voorbeeldcode wordt uitgevoerd.

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

Opmerkingen

De naamruimte waarin de watcher naar gebeurtenissen luistert, is de standaardnaamruimte die momenteel is ingesteld.

.NET Framework-beveiliging

Volledig vertrouwen voor de directe beller. Dit lid kan niet worden gebruikt door gedeeltelijk vertrouwde code. Zie Bibliotheken van gedeeltelijk vertrouwde code gebruiken voor meer informatie.

Van toepassing op

ManagementEventWatcher(String)

Bron:
ManagementEventWatcher.cs
Bron:
ManagementEventWatcher.cs
Bron:
ManagementEventWatcher.cs
Bron:
ManagementEventWatcher.cs

Initialiseert een nieuw exemplaar van de ManagementEventWatcher klasse wanneer een WMI-gebeurtenisquery wordt gegeven in de vorm van een tekenreeks.

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

Parameters

query
String

Een WMI-gebeurtenisquery die de gebeurtenissen definieert waarvoor de watcher luistert.

Voorbeelden

In het volgende voorbeeld ziet u hoe de client een melding ontvangt wanneer een exemplaar van Win32_Process wordt gemaakt omdat de gebeurtenisklasse is __InstanceCreationEvent. Zie de documentatie Windows Management Instrumentation voor meer informatie. De client ontvangt synchroon gebeurtenissen door de WaitForNextEvent methode aan te roepen. Dit voorbeeld kan worden getest door een proces te starten, zoals Kladblok, terwijl de voorbeeldcode wordt uitgevoerd.

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

Opmerkingen

De naamruimte waarin de watcher naar gebeurtenissen luistert, is de standaardnaamruimte die momenteel is ingesteld.

.NET Framework-beveiliging

Volledig vertrouwen voor de directe beller. Dit lid kan niet worden gebruikt door gedeeltelijk vertrouwde code. Zie Bibliotheken van gedeeltelijk vertrouwde code gebruiken voor meer informatie.

Van toepassing op

ManagementEventWatcher(ManagementScope, EventQuery)

Bron:
ManagementEventWatcher.cs
Bron:
ManagementEventWatcher.cs
Bron:
ManagementEventWatcher.cs
Bron:
ManagementEventWatcher.cs

Initialiseert een nieuw exemplaar van de ManagementEventWatcher klasse die luistert naar gebeurtenissen die voldoen aan de opgegeven WMI-gebeurtenisquery.

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)

Parameters

scope
ManagementScope

Een ManagementScope vertegenwoordiging van het bereik (naamruimte) waarin de watcher luistert naar gebeurtenissen.

query
EventQuery

Een EventQuery weergave van een WMI-gebeurtenisquery, waarmee de gebeurtenissen worden bepaald waarvoor de watcher luistert.

Voorbeelden

In dit codevoorbeeld ontvangt de client een melding wanneer een exemplaar van Win32_Process wordt gemaakt omdat de gebeurtenisklasse is __InstanceCreationEvent. Zie de documentatie Windows Management Instrumentation voor meer informatie. De client ontvangt synchroon gebeurtenissen door de WaitForNextEvent methode aan te roepen. Dit voorbeeld kan worden getest door een proces te starten, zoals Kladblok, terwijl de voorbeeldcode wordt uitgevoerd.

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

Opmerkingen

.NET Framework-beveiliging

Volledig vertrouwen voor de directe beller. Dit lid kan niet worden gebruikt door gedeeltelijk vertrouwde code. Zie Bibliotheken van gedeeltelijk vertrouwde code gebruiken voor meer informatie.

Van toepassing op

ManagementEventWatcher(String, String)

Bron:
ManagementEventWatcher.cs
Bron:
ManagementEventWatcher.cs
Bron:
ManagementEventWatcher.cs
Bron:
ManagementEventWatcher.cs

Initialiseert een nieuw exemplaar van de ManagementEventWatcher klasse die luistert naar gebeurtenissen die voldoen aan de opgegeven WMI-gebeurtenisquery. Voor deze variant worden de query en het bereik opgegeven als tekenreeksen.

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)

Parameters

scope
String

Het beheerbereik (naamruimte) waarin de watcher luistert naar gebeurtenissen.

query
String

De query waarmee de gebeurtenissen worden gedefinieerd waarvoor de watcher luistert.

Voorbeelden

In het volgende voorbeeld ziet u hoe de client een melding ontvangt wanneer een exemplaar van Win32_Process wordt gemaakt omdat de gebeurtenisklasse is __InstanceCreationEvent. Zie de documentatie Windows Management Instrumentation voor meer informatie. De client ontvangt synchroon gebeurtenissen door de WaitForNextEvent methode aan te roepen. Dit voorbeeld kan worden getest door een proces te starten, zoals Kladblok, terwijl de voorbeeldcode wordt uitgevoerd.

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

Opmerkingen

.NET Framework-beveiliging

Volledig vertrouwen voor de directe beller. Dit lid kan niet worden gebruikt door gedeeltelijk vertrouwde code. Zie Bibliotheken van gedeeltelijk vertrouwde code gebruiken voor meer informatie.

Van toepassing op

ManagementEventWatcher(ManagementScope, EventQuery, EventWatcherOptions)

Bron:
ManagementEventWatcher.cs
Bron:
ManagementEventWatcher.cs
Bron:
ManagementEventWatcher.cs
Bron:
ManagementEventWatcher.cs

Initialiseert een nieuw exemplaar van de ManagementEventWatcher klasse die luistert naar gebeurtenissen die voldoen aan de opgegeven WMI-gebeurtenisquery, volgens de opgegeven opties. Voor deze variant worden de query en het bereik opgegeven objecten. Het optiesobject kan opties opgeven, zoals time-out en contextinformatie.

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)

Parameters

scope
ManagementScope

Een ManagementScope vertegenwoordiging van het bereik (naamruimte) waarin de watcher luistert naar gebeurtenissen.

query
EventQuery

Een EventQuery weergave van een WMI-gebeurtenisquery, waarmee de gebeurtenissen worden bepaald waarvoor de watcher luistert.

options
EventWatcherOptions

Een EventWatcherOptions weergave van extra opties die worden gebruikt om gebeurtenissen te bekijken.

Voorbeelden

In het volgende voorbeeld ziet u hoe de client een melding ontvangt wanneer een exemplaar van Win32_Process wordt gemaakt omdat de gebeurtenisklasse is __InstanceCreationEvent. Zie de documentatie Windows Management Instrumentation voor meer informatie. De client ontvangt synchroon gebeurtenissen door de WaitForNextEvent methode aan te roepen. Dit voorbeeld kan worden getest door een proces te starten, zoals Kladblok, terwijl de voorbeeldcode wordt uitgevoerd.

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

Opmerkingen

.NET Framework-beveiliging

Volledig vertrouwen voor de directe beller. Dit lid kan niet worden gebruikt door gedeeltelijk vertrouwde code. Zie Bibliotheken van gedeeltelijk vertrouwde code gebruiken voor meer informatie.

Van toepassing op

ManagementEventWatcher(String, String, EventWatcherOptions)

Bron:
ManagementEventWatcher.cs
Bron:
ManagementEventWatcher.cs
Bron:
ManagementEventWatcher.cs
Bron:
ManagementEventWatcher.cs

Initialiseert een nieuw exemplaar van de ManagementEventWatcher klasse die luistert naar gebeurtenissen die voldoen aan de opgegeven WMI-gebeurtenisquery, volgens de opgegeven opties. Voor deze variant worden de query en het bereik opgegeven als tekenreeksen. Het optiesobject kan opties opgeven, zoals een time-out en contextinformatie.

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)

Parameters

scope
String

Het beheerbereik (naamruimte) waarin de watcher luistert naar gebeurtenissen.

query
String

De query waarmee de gebeurtenissen worden gedefinieerd waarvoor de watcher luistert.

options
EventWatcherOptions

Een EventWatcherOptions weergave van extra opties die worden gebruikt om gebeurtenissen te bekijken.

Voorbeelden

In het volgende voorbeeld ziet u hoe de client een melding ontvangt wanneer een exemplaar van Win32_Process wordt gemaakt omdat de gebeurtenisklasse is __InstanceCreationEvent. Zie de documentatie Windows Management Instrumentation voor meer informatie. De client ontvangt synchroon gebeurtenissen door de WaitForNextEvent methode aan te roepen. Dit voorbeeld kan worden getest door een proces te starten, zoals Kladblok, terwijl de voorbeeldcode wordt uitgevoerd.

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

Opmerkingen

.NET Framework-beveiliging

Volledig vertrouwen voor de directe beller. Dit lid kan niet worden gebruikt door gedeeltelijk vertrouwde code. Zie Bibliotheken van gedeeltelijk vertrouwde code gebruiken voor meer informatie.

Van toepassing op