ManagementEventWatcher Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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. |