ManagementEventWatcher Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Subscreve notificações temporárias de eventos baseadas numa consulta de evento especificada.
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
Exemplos
O exemplo seguinte mostra como o cliente recebe notificação quando uma instância de Win32_Process é criada porque a classe de evento é __InstanceCreationEvent. Para mais informações, consulte a documentação Windows Instrumentação de Gestão. O cliente recebe eventos de forma síncrona ao chamar o WaitForNextEvent método. Este exemplo pode ser testado iniciando um processo, como o Notepad, enquanto o código de exemplo está a correr.
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
| Name | Description |
|---|---|
| ManagementEventWatcher() |
Inicializa uma nova instância da ManagementEventWatcher classe. Para uma inicialização adicional, defina as propriedades no objeto. Este é o construtor sem parâmetros. |
| ManagementEventWatcher(EventQuery) |
Inicializa uma nova instância da ManagementEventWatcher classe quando recebe uma consulta de evento WMI. |
| ManagementEventWatcher(ManagementScope, EventQuery, EventWatcherOptions) |
Inicializa uma nova instância da ManagementEventWatcher classe que escuta eventos conformes à consulta de evento WMI dada, de acordo com as opções especificadas. Para esta variante, a consulta e o âmbito são objetos especificados. O objeto options pode especificar opções como time-out e informação de contexto. |
| ManagementEventWatcher(ManagementScope, EventQuery) |
Inicializa uma nova instância da ManagementEventWatcher classe que escuta eventos que cumprem a consulta de eventos WMI dada. |
| ManagementEventWatcher(String, String, EventWatcherOptions) |
Inicializa uma nova instância da ManagementEventWatcher classe que escuta eventos conformes à consulta de evento WMI dada, de acordo com as opções especificadas. Para esta variante, a consulta e o âmbito são especificados como strings. O objeto options pode especificar opções como um time-out e informação de contexto. |
| ManagementEventWatcher(String, String) |
Inicializa uma nova instância da ManagementEventWatcher classe que escuta eventos que cumprem a consulta de eventos WMI dada. Para esta variante, a consulta e o âmbito são especificados como strings. |
| ManagementEventWatcher(String) |
Inicializa uma nova instância da ManagementEventWatcher classe quando recebe uma consulta de evento WMI sob a forma de uma string. |
Propriedades
| Name | Description |
|---|---|
| CanRaiseEvents |
Obtém um valor que indica se o componente pode gerar um evento. (Herdado de Component) |
| Container |
Obtém o IContainer que contém o Component. (Herdado de Component) |
| DesignMode |
Obtém um valor que indica se o Component está atualmente em modo de design. (Herdado de Component) |
| Events |
Obtém a lista de gestores de eventos que estão ligados a isto Component. (Herdado de Component) |
| Options |
Obtém ou define as opções usadas para observar eventos. |
| Query |
Obtém ou define os critérios para se candidatar a eventos. |
| Scope |
Obtém ou define o âmbito para observar eventos (namespace ou scope). |
| Site |
Obtém ou define o ISite do Component. (Herdado de Component) |
Métodos
| Name | Description |
|---|---|
| CreateObjRef(Type) |
Cria um objeto que contém toda a informação relevante necessária para gerar um proxy usado para comunicar com um objeto remoto. (Herdado de MarshalByRefObject) |
| Dispose() |
Liberta todos os recursos utilizados pelo Component. (Herdado de Component) |
| Dispose(Boolean) |
Liberta os recursos não geridos usados pelo Component e opcionalmente liberta os recursos geridos. (Herdado de Component) |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| Finalize() |
Garante que as chamadas pendentes são resolvidas. Este é o destruidor do objeto. Em C#, os finalizadores são expressos usando a sintaxe dos destruidores. |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetLifetimeService() |
Recupera o objeto de serviço de tempo de vida atual que controla a política de vida útil neste caso. (Herdado de MarshalByRefObject) |
| GetService(Type) |
Devolve um objeto que representa um serviço fornecido pelo Component ou pelo seu Container. (Herdado de Component) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| InitializeLifetimeService() |
Obtém-se um objeto de serviço vitalício para controlar a apólice vitalícia neste caso. (Herdado de MarshalByRefObject) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| MemberwiseClone(Boolean) |
Cria uma cópia superficial do objeto atual MarshalByRefObject . (Herdado de MarshalByRefObject) |
| Start() |
Subscreve eventos com a consulta dada e entrega-os, de forma assíncrona, através do EventArrived evento. |
| Stop() |
Cancela a subscrição, seja ela síncrona ou assíncrona. |
| ToString() |
Devolve a String contendo o nome do Component, se existir. Este método não deve ser ultrapassado. (Herdado de Component) |
| WaitForNextEvent() |
Espera que chegue o próximo evento que corresponde à consulta especificada e depois devolve-o. |
evento
| Name | Description |
|---|---|
| Disposed |
Ocorre quando o componente é eliminado por uma chamada ao Dispose() método. (Herdado de Component) |
| EventArrived |
Ocorre quando surge um novo evento. |
| Stopped |
Ocorre quando uma subscrição é cancelada. |