ManagementEventWatcher Classe

Definição

Inscreve-se para notificações de eventos temporárias com base em uma consulta de evento.Subscribes to temporary event notifications based on a specified event query.

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 a notificação quando uma instância de Win32_Process é criada porque a classe de evento é __InstanceCreationEvent.The following example shows how the client receives notification when an instance of Win32_Process is created because the event class is __InstanceCreationEvent. Para obter mais informações, consulte a documentação do Instrumentação de gerenciamento do Windows .For more information, see the Windows Management Instrumentation documentation. O cliente recebe eventos de forma síncrona chamando WaitForNextEvent o método.The client receives events synchronously by calling the WaitForNextEvent method. Este exemplo pode ser testado com o início de um processo, como o bloco de notas, enquanto o código de exemplo está em execução.This example can be tested by starting a process, such as Notepad, while the example code is running.

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.Initializes a new instance of the ManagementEventWatcher class. Para inicialização adicional, defina as propriedades no objeto.For further initialization, set the properties on the object. Esse é o construtor sem parâmetros.This is the parameterless constructor.

ManagementEventWatcher(EventQuery)

Inicializa uma nova instância da classe ManagementEventWatcher ao receber uma consulta de evento WMI.Initializes a new instance of the ManagementEventWatcher class when given a WMI event query.

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.Initializes a new instance of the ManagementEventWatcher class that listens for events conforming to the given WMI event query.

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.Initializes a new instance of the ManagementEventWatcher class that listens for events conforming to the given WMI event query, according to the specified options. Para essa variante, a consulta e o escopo são especificados como objetos.For this variant, the query and the scope are specified objects. O objeto de opções pode especificar opções, como informações de tempo limite e contexto.The options object can specify options such as time-out and context information.

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.Initializes a new instance of the ManagementEventWatcher class when given a WMI event query in the form of a string.

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.Initializes a new instance of the ManagementEventWatcher class that listens for events conforming to the given WMI event query. Para essa variante, a consulta e o escopo são especificados como cadeias de caracteres.For this variant, the query and the scope are specified as strings.

ManagementEventWatcher(String, String, 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.Initializes a new instance of the ManagementEventWatcher class that listens for events conforming to the given WMI event query, according to the specified options. Para essa variante, a consulta e o escopo são especificados como cadeias de caracteres.For this variant, the query and the scope are specified as strings. O objeto de opções pode especificar opções, como informações de tempo limite e contexto.The options object can specify options such as a time-out and context information.

Propriedades

CanRaiseEvents

Obtém um valor que indica se o componente pode acionar um evento.Gets a value indicating whether the component can raise an event.

(Herdado de Component)
Container

Obtém o IContainer que contém o Component.Gets the IContainer that contains the Component.

(Herdado de Component)
DesignMode

Obtém um valor que indica se o Component está no modo de design no momento.Gets a value that indicates whether the Component is currently in design mode.

(Herdado de Component)
Events

Obtém a lista de manipuladores de eventos que estão anexados a este Component.Gets the list of event handlers that are attached to this Component.

(Herdado de Component)
Options

Obtém ou define as opções usadas para observar eventos.Gets or sets the options used to watch for events.

Query

Obtém ou define os critérios a aplicar aos eventos.Gets or sets the criteria to apply to events.

Scope

Obtém ou define o escopo no qual inspecionar eventos (namespace ou escopo).Gets or sets the scope in which to watch for events (namespace or scope).

Site

Obtém ou define o ISite do Component.Gets or sets the ISite of the 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.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Herdado de MarshalByRefObject)
Dispose()

Libera todos os recursos usados pelo Component.Releases all resources used by the Component.

(Herdado de Component)
Dispose(Boolean)

Libera os recursos não gerenciados usados pelo Component e opcionalmente libera os recursos gerenciados.Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(Herdado de Component)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
Finalize()

Garante que as chamadas pendentes sejam desmarcadas.Ensures that outstanding calls are cleared. Este é o destruidor do objeto.This is the destructor for the object. Em C#, os finalizadores são expressos usando a sintaxe do destruidor.In C#, finalizers are expressed using destructor syntax.

GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetLifetimeService()

Recupera o objeto de serviço de tempo de vida atual que controla a política de ciclo de vida para esta instância.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Herdado de MarshalByRefObject)
GetService(Type)

Retorna um objeto que representa um serviço fornecido pelo Component ou pelo seu Container.Returns an object that represents a service provided by the Component or by its Container.

(Herdado de Component)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
InitializeLifetimeService()

Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida para essa instância.Obtains a lifetime service object to control the lifetime policy for this instance.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto MarshalByRefObject atual.Creates a shallow copy of the current MarshalByRefObject object.

(Herdado de MarshalByRefObject)
Start()

Assina eventos com a consulta fornecida e os entrega, de forma assíncrona, por meio do evento EventArrived.Subscribes to events with the given query and delivers them, asynchronously, through the EventArrived event.

Stop()

Cancela a assinatura seja ela síncrona ou assíncrona.Cancels the subscription whether it is synchronous or asynchronous.

ToString()

Retorna um String que contém o nome do Component, se houver.Returns a String containing the name of the Component, if any. Esse método não deve ser substituído.This method should not be overridden.

(Herdado de Component)
WaitForNextEvent()

Aguarda o próximo evento que corresponde à consulta especificada chegar e, em seguida, retorna-o.Waits for the next event that matches the specified query to arrive, and then returns it.

Eventos

Disposed

Ocorre quando o componente é disposto por uma chamada para o método Dispose().Occurs when the component is disposed by a call to the Dispose() method.

(Herdado de Component)
EventArrived

Ocorre quando um novo evento chega.Occurs when a new event arrives.

Stopped

Ocorre quando uma assinatura é cancelada.Occurs when a subscription is canceled.

Aplica-se a