EventQuery Constructors

Definitie

Initialiseert een nieuw exemplaar van de EventQuery klasse.

Overloads

Name Description
EventQuery()

Initialiseert een nieuw exemplaar van de EventQuery klasse. Dit is de parameterloze constructor.

EventQuery(String)

Initialiseert een nieuw exemplaar van de EventQuery klasse voor de opgegeven query.

EventQuery(String, String)

Initialiseert een nieuw exemplaar van de EventQuery klasse voor de opgegeven taal en query.

EventQuery()

Bron:
ManagementQuery.cs
Bron:
ManagementQuery.cs
Bron:
ManagementQuery.cs
Bron:
ManagementQuery.cs

Initialiseert een nieuw exemplaar van de EventQuery klasse. Dit is de parameterloze constructor.

public:
 EventQuery();
public EventQuery();
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
        EventQuery query = new EventQuery();
        query.QueryString = "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 New EventQuery
        query.QueryString = "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, 50)

        ' 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

EventQuery(String)

Bron:
ManagementQuery.cs
Bron:
ManagementQuery.cs
Bron:
ManagementQuery.cs
Bron:
ManagementQuery.cs

Initialiseert een nieuw exemplaar van de EventQuery klasse voor de opgegeven query.

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

Parameters

query
String

Een tekstuele weergave van de event query.

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
        EventQuery query = new EventQuery(
            "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 New EventQuery( _
            "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, 50)

        ' 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

EventQuery(String, String)

Bron:
ManagementQuery.cs
Bron:
ManagementQuery.cs
Bron:
ManagementQuery.cs
Bron:
ManagementQuery.cs

Initialiseert een nieuw exemplaar van de EventQuery klasse voor de opgegeven taal en query.

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

Parameters

language
String

De taal waarin de querytekenreeks is opgegeven.

query
String

De tekenreeksweergave van de query.

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
        EventQuery query = new EventQuery("WQL",
            "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 New EventQuery("WQL", _
            "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, 50)

        ' 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