Compartir a través de


ManagementEventWatcher Clase

Definición

Se suscribe a notificaciones de eventos temporales basándose 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 evento es __InstanceCreationEvent. Para obtener más información, consulte la documentación de Instrumental de administración de Windows . El cliente recibe eventos de forma sincrónica tras llamar al método WaitForNextEvent. Para probar este ejemplo, inicie un proceso, como 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

ManagementEventWatcher()

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

ManagementEventWatcher(EventQuery)

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

ManagementEventWatcher(ManagementScope, EventQuery)

Inicializa una nueva instancia de la clase ManagementEventWatcher que escucha los eventos de acuerdo con la consulta de eventos WMI dada.

ManagementEventWatcher(ManagementScope, EventQuery, EventWatcherOptions)

Inicializa una nueva instancia de la clase ManagementEventWatcher que escucha los eventos de acuerdo con la consulta de eventos WMI dada y las opciones especificadas. Para esta variante, la consulta y el ámbito son objetos especificados. El objeto de opciones puede especificar opciones como un tiempo de espera e información del contexto.

ManagementEventWatcher(String)

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

ManagementEventWatcher(String, String)

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

ManagementEventWatcher(String, String, EventWatcherOptions)

Inicializa una nueva instancia de la ManagementEventWatcher clase que escucha los 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 de opciones puede especificar opciones como un tiempo de espera e información del contexto.

Propiedades

CanRaiseEvents

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

(Heredado de Component)
Container

Obtiene la interfaz IContainer que contiene la clase Component.

(Heredado de Component)
DesignMode

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

(Heredado de Component)
Events

Obtiene la lista de controladores de eventos asociados a Component.

(Heredado de Component)
Options

Obtiene o establece las opciones que se utilizan para inspeccionar los eventos.

Query

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

Scope

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

Site

Obtiene o establece ISite de Component.

(Heredado de Component)

Métodos

CreateObjRef(Type)

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

(Heredado de MarshalByRefObject)
Dispose()

Libera todos los recursos que usa Component.

(Heredado de Component)
Dispose(Boolean)

Libera los recursos no administrados que usa Component y, de forma opcional, libera los recursos administrados.

(Heredado de Component)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
Finalize()

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

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetLifetimeService()
Obsoletos.

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 el servicio suministrado por Component o por Container.

(Heredado de Component)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
InitializeLifetimeService()
Obsoletos.

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 Object actual.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.

(Heredado de MarshalByRefObject)
Start()

Se suscribe a eventos con la consulta dada y los entrega, asincrónicamente, a través del evento EventArrived.

Stop()

Cancela la suscripción, ya sea sincrónica o asincrónica.

ToString()

Devuelve una String que contiene el nombre del Component, si existe. Este método no se debe invalidar.

(Heredado de Component)
WaitForNextEvent()

Espera al siguiente evento que coincida con la consulta especificada que va a llegar, y lo devuelve.

Eventos

Disposed

Tiene lugar cuando una llamada elimina el componente mediante una llamada al método Dispose().

(Heredado de Component)
EventArrived

Se produce cuando llega un nuevo evento.

Stopped

Se produce cuando se cancela una suscripción.

Se aplica a