EventWatcherOptions Construtores

Definição

Inicializa uma nova instância da classe para assistir a EventWatcherOptions eventos.

Sobrecargas

Nome Description
EventWatcherOptions()

Inicializa uma nova instância da EventWatcherOptions classe para observação de eventos, usando valores padrão. Esse é o construtor sem parâmetros.

EventWatcherOptions(ManagementNamedValueCollection, TimeSpan, Int32)

Inicializa uma nova instância da EventWatcherOptions classe com os valores fornecidos.

EventWatcherOptions()

Origem:
ManagementOptions.cs
Origem:
ManagementOptions.cs
Origem:
ManagementOptions.cs
Origem:
ManagementOptions.cs

Inicializa uma nova instância da EventWatcherOptions classe para observação de eventos, usando valores padrão. Esse é o construtor sem parâmetros.

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

Exemplos

O exemplo a seguir mostra como o cliente recebe notificação quando uma instância de Win32_Process é criada porque a classe de evento é __InstanceCreationEvent. Para obter mais informações, consulte a documentação Windows Management Instrumentation. O cliente recebe eventos de forma síncrona chamando o WaitForNextEvent método. Este exemplo pode ser testado iniciando um processo, como o Bloco de Notas, enquanto o código de exemplo está em execução.

using System;
using System.Management;

// This example shows synchronous consumption of events.
// The client is blocked while waiting for events.

public class EventWatcherPolling
{
    public static int Main(string[] args)
    {
        // Create event query to be notified within 1 second of
        // a change in a service
        string query = "SELECT * FROM" +
            " __InstanceCreationEvent WITHIN 1 " +
            "WHERE TargetInstance isa \"Win32_Process\"";

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

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

        // Block until the next event occurs
        // Note: this can be done in a loop if waiting for
        //        more than one occurrence
        Console.WriteLine(
            "Open an application (notepad.exe) to trigger an event.");
        ManagementBaseObject e = watcher.WaitForNextEvent();

        //Display information from the event
        Console.WriteLine(
            "Process {0} has been created, path is: {1}",
            ((ManagementBaseObject)e
            ["TargetInstance"])["Name"],
            ((ManagementBaseObject)e
            ["TargetInstance"])["ExecutablePath"]);

        //Cancel the subscription
        watcher.Stop();
        return 0;
    }
}
Imports System.Management

' This example shows synchronous consumption of events. 
' The client is blocked while waiting for events. 

Public Class EventWatcherPolling
    Public Overloads Shared Function _
        Main(ByVal args() As String) As Integer

        ' Create event query to be notified within 1 second of 
        ' a change in a service
        Dim query As String
        query = "SELECT * FROM" & _
            " __InstanceCreationEvent WITHIN 1 " & _
            "WHERE TargetInstance isa ""Win32_Process"""

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

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

        ' Block until the next event occurs 
        ' Note: this can be done in a loop
        ' if waiting for more than one occurrence
        Console.WriteLine( _
          "Open an application (notepad.exe) to trigger an event.")
        Dim e As ManagementBaseObject = _
            watcher.WaitForNextEvent()

        'Display information from the event
        Console.WriteLine( _
            "Process {0} has created, path is: {1}", _
            CType(e("TargetInstance"), _
                ManagementBaseObject)("Name"), _
            CType(e("TargetInstance"), _
                ManagementBaseObject)("ExecutablePath"))

        'Cancel the subscription
        watcher.Stop()
        Return 0

    End Function 'Main
End Class

Comentários

Segurança do .NET Framework

Confiança total para o chamador imediato. Esse membro não pode ser usado por um código parcialmente confiável. Para obter mais informações, consulte Como usar bibliotecas de código parcialmente confiável.

Aplica-se a

EventWatcherOptions(ManagementNamedValueCollection, TimeSpan, Int32)

Origem:
ManagementOptions.cs
Origem:
ManagementOptions.cs
Origem:
ManagementOptions.cs
Origem:
ManagementOptions.cs

Inicializa uma nova instância da EventWatcherOptions classe com os valores fornecidos.

public:
 EventWatcherOptions(System::Management::ManagementNamedValueCollection ^ context, TimeSpan timeout, int blockSize);
public EventWatcherOptions(System.Management.ManagementNamedValueCollection context, TimeSpan timeout, int blockSize);
new System.Management.EventWatcherOptions : System.Management.ManagementNamedValueCollection * TimeSpan * int -> System.Management.EventWatcherOptions
Public Sub New (context As ManagementNamedValueCollection, timeout As TimeSpan, blockSize As Integer)

Parâmetros

context
ManagementNamedValueCollection

O objeto de contexto de opções que contém informações específicas do provedor a serem passadas para o provedor.

timeout
TimeSpan

O tempo limite para aguardar os próximos eventos.

blockSize
Int32

O número de eventos a aguardar em cada bloco.

Exemplos

O exemplo a seguir mostra como o cliente recebe notificação quando uma instância de Win32_Process é criada porque a classe de evento é __InstanceCreationEvent. Para obter mais informações, consulte a documentação Windows Management Instrumentation. O cliente recebe eventos de forma síncrona chamando o WaitForNextEvent método. Este exemplo pode ser testado iniciando um processo, como o Bloco de Notas, enquanto o código de exemplo está em execução.

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 to receive one event
        EventWatcherOptions eventOptions = new
            EventWatcherOptions(null, System.TimeSpan.MaxValue,
            1);

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

        // Block until the next event occurs
        // Note: this can be done in a loop if waiting for
        //        more than one occurrence
        Console.WriteLine(
            "Open an application (notepad.exe) to trigger an event.");
        ManagementBaseObject e = watcher.WaitForNextEvent();

        //Display information from the event
        Console.WriteLine(
            "Process {0} has been created, path is: {1}",
            ((ManagementBaseObject)e
            ["TargetInstance"])["Name"],
            ((ManagementBaseObject)e
            ["TargetInstance"])["ExecutablePath"]);

        //Cancel the subscription
        watcher.Stop();
        return 0;
    }
}
Imports System.Management

' This example shows synchronous consumption of events. 
' The client is blocked while waiting for events. 

Public Class EventWatcherPolling
    Public Overloads Shared Function _
        Main(ByVal args() As String) As Integer

        ' Create event query to be notified within 1 second of 
        ' a change in a service
        Dim query As String
        query = "SELECT * FROM" & _
            " __InstanceCreationEvent WITHIN 1 " & _
            "WHERE TargetInstance isa ""Win32_Process"""

        ' Event options
        ' blockSize = 1 to receive one event
        Dim eventOptions As New EventWatcherOptions( _
            Nothing, System.TimeSpan.MaxValue, 1)

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

        ' Block until the next event occurs 
        ' Note: this can be done in a loop
        ' if waiting for more than one occurrence
        Console.WriteLine( _
          "Open an application (notepad.exe) to trigger an event.")
        Dim e As ManagementBaseObject = _
            watcher.WaitForNextEvent()

        'Display information from the event
        Console.WriteLine( _
            "Process {0} has created, path is: {1}", _
            CType(e("TargetInstance"), _
                ManagementBaseObject)("Name"), _
            CType(e("TargetInstance"), _
                ManagementBaseObject)("ExecutablePath"))

        'Cancel the subscription
        watcher.Stop()
        Return 0

    End Function 'Main
End Class

Comentários

Segurança do .NET Framework

Confiança total para o chamador imediato. Esse membro não pode ser usado por um código parcialmente confiável. Para obter mais informações, consulte Como usar bibliotecas de código parcialmente confiável.

Aplica-se a