Compartilhar via


ManagementEventWatcher Classe

Definição

Inscreve-se para notificações de eventos temporárias com base em uma consulta de evento.

public ref class ManagementEventWatcher : System::ComponentModel::Component
public class ManagementEventWatcher : System.ComponentModel.Component
type ManagementEventWatcher = class
    inherit Component
Public Class ManagementEventWatcher
Inherits Component
Herança
ManagementEventWatcher

Exemplos

O exemplo a seguir mostra como o cliente recebe uma notificação quando uma instância do Win32_Process é criada porque a classe de evento é __InstanceCreationEvent. Para obter mais informações, consulte a documentação da Instrumentação de Gerenciamento do Windows . 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
        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

Construtores

ManagementEventWatcher()

Inicializa uma nova instância da classe ManagementEventWatcher. Para inicialização adicional, defina as propriedades no objeto. Esse é o construtor sem parâmetros.

ManagementEventWatcher(EventQuery)

Inicializa uma nova instância da classe ManagementEventWatcher ao receber uma consulta de evento WMI.

ManagementEventWatcher(ManagementScope, EventQuery)

Inicializa uma nova instância da classe ManagementEventWatcher que escuta eventos em conformidade com a WMI a consulta de evento de WMI determinada.

ManagementEventWatcher(ManagementScope, EventQuery, EventWatcherOptions)

Inicializa uma nova instância da classe ManagementEventWatcher que escuta eventos em conformidade com a consulta de evento da WMI determinada, de acordo com as opções especificadas. Para essa variante, a consulta e o escopo são especificados como objetos. O objeto de opções pode especificar opções, como informações de tempo limite e contexto.

ManagementEventWatcher(String)

Inicializa uma nova instância da classe ManagementEventWatcher quando é fornecida uma consulta de evento do WMI na forma de uma cadeia de caracteres.

ManagementEventWatcher(String, String)

Inicializa uma nova instância da classe ManagementEventWatcher que escuta eventos em conformidade com a WMI a consulta de evento de WMI determinada. Para essa variante, a consulta e o escopo são especificados como cadeias de caracteres.

ManagementEventWatcher(String, String, EventWatcherOptions)

Inicializa uma nova instância da ManagementEventWatcher classe que escuta eventos em conformidade com a consulta de evento WMI fornecida, de acordo com as opções especificadas. Para essa variante, a consulta e o escopo são especificados como cadeias de caracteres. O objeto de opções pode especificar opções, como informações de tempo limite e contexto.

Propriedades

CanRaiseEvents

Obtém um valor que indica se o componente pode acionar um evento.

(Herdado de Component)
Container

Obtém o IContainer que contém o Component.

(Herdado de Component)
DesignMode

Obtém um valor que indica se o Component está no modo de design no momento.

(Herdado de Component)
Events

Obtém a lista de manipuladores de eventos que estão anexados a este Component.

(Herdado de Component)
Options

Obtém ou define as opções usadas para observar eventos.

Query

Obtém ou define os critérios a aplicar aos eventos.

Scope

Obtém ou define o escopo no qual inspecionar eventos (namespace ou escopo).

Site

Obtém ou define o ISite do Component.

(Herdado de Component)

Métodos

CreateObjRef(Type)

Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto.

(Herdado de MarshalByRefObject)
Dispose()

Libera todos os recursos usados pelo Component.

(Herdado de Component)
Dispose(Boolean)

Libera os recursos não gerenciados usados pelo Component e opcionalmente libera os recursos gerenciados.

(Herdado de Component)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Finalize()

Garante que as chamadas pendentes sejam desmarcadas. Este é o destruidor do objeto. Em C#, os finalizadores são expressos usando a sintaxe do destruidor.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetLifetimeService()
Obsoleto.

Recupera o objeto de serviço de tempo de vida atual que controla a política de ciclo de vida para esta instância.

(Herdado de MarshalByRefObject)
GetService(Type)

Retorna um objeto que representa um serviço fornecido pelo Component ou pelo seu Container.

(Herdado de Component)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
InitializeLifetimeService()
Obsoleto.

Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida para essa instância.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto MarshalByRefObject atual.

(Herdado de MarshalByRefObject)
Start()

Assina eventos com a consulta fornecida e os entrega, de forma assíncrona, por meio do evento EventArrived.

Stop()

Cancela a assinatura seja ela síncrona ou assíncrona.

ToString()

Retorna um String que contém o nome do Component, se houver. Esse método não deve ser substituído.

(Herdado de Component)
WaitForNextEvent()

Aguarda o próximo evento que corresponde à consulta especificada chegar e, em seguida, retorna-o.

Eventos

Disposed

Ocorre quando o componente é disposto por uma chamada ao método Dispose().

(Herdado de Component)
EventArrived

Ocorre quando um novo evento chega.

Stopped

Ocorre quando uma assinatura é cancelada.

Aplica-se a