ManagementEventWatcher Clase

Definición

Se suscribe a notificaciones de eventos temporales basadas en una consulta de eventos especificada.

public ref class ManagementEventWatcher : System::ComponentModel::Component
public class ManagementEventWatcher : System.ComponentModel.Component
type ManagementEventWatcher = class
    inherit Component
Public Class ManagementEventWatcher
Inherits Component
Herencia
ManagementEventWatcher

Ejemplos

En el ejemplo siguiente se muestra cómo el cliente recibe una notificación cuando se crea una instancia de Win32_Process porque la clase de eventos es __InstanceCreationEvent. Para obtener más información, consulte la documentación Windows Management Instrumentation. El cliente recibe eventos de forma sincrónica llamando al WaitForNextEvent método . Este ejemplo se puede probar iniciando un proceso, como el Bloc de notas, mientras se ejecuta el código de ejemplo.

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

Constructores

Nombre Description
ManagementEventWatcher()

Inicializa una nueva instancia de la clase ManagementEventWatcher. Para una inicialización adicional, establezca las propiedades en el objeto . Este es el constructor sin parámetros.

ManagementEventWatcher(EventQuery)

Inicializa una nueva instancia de la ManagementEventWatcher clase cuando se da una consulta de eventos WMI.

ManagementEventWatcher(ManagementScope, EventQuery, EventWatcherOptions)

Inicializa una nueva instancia de la ManagementEventWatcher clase que escucha eventos conformes a la consulta de eventos WMI especificada, según las opciones especificadas. Para esta variante, la consulta y el ámbito son objetos especificados. El objeto options puede especificar opciones como el tiempo de espera y la información de contexto.

ManagementEventWatcher(ManagementScope, EventQuery)

Inicializa una nueva instancia de la ManagementEventWatcher clase que escucha los eventos conformes a la consulta de eventos WMI especificada.

ManagementEventWatcher(String, String, EventWatcherOptions)

Inicializa una nueva instancia de la ManagementEventWatcher clase que escucha eventos conformes a la consulta de eventos WMI especificada, según las opciones especificadas. Para esta variante, la consulta y el ámbito se especifican como cadenas. El objeto options puede especificar opciones como un tiempo de espera e información de contexto.

ManagementEventWatcher(String, String)

Inicializa una nueva instancia de la ManagementEventWatcher clase que escucha los eventos conformes a la consulta de eventos WMI especificada. Para esta variante, la consulta y el ámbito se especifican como cadenas.

ManagementEventWatcher(String)

Inicializa una nueva instancia de la ManagementEventWatcher clase cuando se da una consulta de eventos WMI en forma de cadena.

Propiedades

Nombre Description
CanRaiseEvents

Obtiene un valor que indica si el componente puede generar un evento.

(Heredado de Component)
Container

Obtiene el IContainer objeto que contiene el Componentobjeto .

(Heredado de Component)
DesignMode

Obtiene un valor que indica si Component el objeto está actualmente en modo de diseño.

(Heredado de Component)
Events

Obtiene la lista de controladores de eventos que están asociados a este Componentobjeto .

(Heredado de Component)
Options

Obtiene o establece las opciones usadas para inspeccionar eventos.

Query

Obtiene o establece los criterios que se aplicarán a los eventos.

Scope

Obtiene o establece el ámbito en el que se van a inspeccionar los eventos (espacio de nombres o ámbito).

Site

Obtiene o establece ISite de Component.

(Heredado de Component)

Métodos

Nombre Description
CreateObjRef(Type)

Crea un objeto que contiene toda la información pertinente necesaria para generar un proxy usado para comunicarse con un objeto remoto.

(Heredado de MarshalByRefObject)
Dispose()

Libera todos los recursos usados por .Component

(Heredado de Component)
Dispose(Boolean)

Libera los recursos no administrados utilizados por Component y, opcionalmente, libera los recursos administrados.

(Heredado de Component)
Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
Finalize()

Garantiza que se borren las llamadas pendientes. Este es el destructor del objeto . En C#, los finalizadores se expresan mediante la sintaxis del destructor.

GetHashCode()

Actúa como la función hash predeterminada.

(Heredado de Object)
GetLifetimeService()

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
GetService(Type)

Devuelve un objeto que representa un servicio proporcionado por Component o por su Container.

(Heredado de Component)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
InitializeLifetimeService()

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto actual MarshalByRefObject .

(Heredado de MarshalByRefObject)
Start()

Se suscribe a eventos con la consulta especificada y los entrega, de forma asincrónica, a través del EventArrived evento .

Stop()

Cancela la suscripción tanto si es sincrónica como asincrónica.

ToString()

Devuelve un String objeto que contiene el nombre de Component, si existe. Este método no se debe invalidar.

(Heredado de Component)
WaitForNextEvent()

Espera al siguiente evento que coincida con la consulta especificada para llegar y, a continuación, la devuelve.

Eventos

Nombre Description
Disposed

Se produce cuando el componente se elimina mediante una llamada al Dispose() método .

(Heredado de Component)
EventArrived

Se produce cuando llega un nuevo evento.

Stopped

Se produce cuando se cancela una suscripción.

Se aplica a