Share via


EventQuery Konstruktory

Definice

Inicializuje novou instanci EventQuery třídy .

Přetížení

EventQuery()

Inicializuje novou instanci EventQuery třídy . Toto je konstruktor bez parametrů.

EventQuery(String)

Inicializuje novou instanci EventQuery třídy pro zadaný dotaz.

EventQuery(String, String)

Inicializuje novou instanci EventQuery třídy pro zadaný jazyk a dotaz.

EventQuery()

Zdroj:
ManagementQuery.cs
Zdroj:
ManagementQuery.cs
Zdroj:
ManagementQuery.cs

Inicializuje novou instanci EventQuery třídy . Toto je konstruktor bez parametrů.

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

Příklady

Následující příklad ukazuje, jak klient obdrží oznámení při vytvoření instance Win32_Process , protože třída události je __InstanceCreationEvent. Další informace najdete v dokumentaci k nástroji Windows Management Instrumentation . Klient přijímá události synchronně voláním metody .WaitForNextEvent Tento příklad lze otestovat spuštěním procesu, například Poznámkového bloku, zatímco je ukázkový kód spuštěn.

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

Poznámky

Zabezpečení rozhraní .NET Framework

Plná důvěra přímému volajícímu. Tento člen nemůže být použit částečně důvěryhodným kódem. Další informace najdete v tématu Použití knihoven z částečně důvěryhodného kódu.

Platí pro

EventQuery(String)

Zdroj:
ManagementQuery.cs
Zdroj:
ManagementQuery.cs
Zdroj:
ManagementQuery.cs

Inicializuje novou instanci EventQuery třídy pro zadaný dotaz.

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

Parametry

query
String

Textové znázornění event query.

Příklady

Následující příklad ukazuje, jak klient obdrží oznámení při vytvoření instance Win32_Process , protože třída události je __InstanceCreationEvent. Další informace najdete v dokumentaci k nástroji Windows Management Instrumentation . Klient přijímá události synchronně voláním metody .WaitForNextEvent Tento příklad lze otestovat spuštěním procesu, například Poznámkového bloku, zatímco je ukázkový kód spuštěn.

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

Poznámky

Zabezpečení rozhraní .NET Framework

Plná důvěra přímému volajícímu. Tento člen nemůže být použit částečně důvěryhodným kódem. Další informace najdete v tématu Použití knihoven z částečně důvěryhodného kódu.

Platí pro

EventQuery(String, String)

Zdroj:
ManagementQuery.cs
Zdroj:
ManagementQuery.cs
Zdroj:
ManagementQuery.cs

Inicializuje novou instanci EventQuery třídy pro zadaný jazyk a dotaz.

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)

Parametry

language
String

Jazyk, ve kterém je zadán řetězec dotazu.

query
String

Řetězcová reprezentace dotazu.

Příklady

Následující příklad ukazuje, jak klient obdrží oznámení při vytvoření instance Win32_Process , protože třída události je __InstanceCreationEvent. Další informace najdete v dokumentaci k nástroji Windows Management Instrumentation . Klient přijímá události synchronně voláním metody .WaitForNextEvent Tento příklad lze otestovat spuštěním procesu, například Poznámkového bloku, zatímco je ukázkový kód spuštěn.

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

Poznámky

Zabezpečení rozhraní .NET Framework

Plná důvěra přímému volajícímu. Tento člen nemůže být použit částečně důvěryhodným kódem. Další informace najdete v tématu Použití knihoven z částečně důvěryhodného kódu.

Platí pro