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