ManagementEventWatcher Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Sottoscrive le notifiche di evento temporanee in base a una query di eventi specificata.
public ref class ManagementEventWatcher : System::ComponentModel::Component
public class ManagementEventWatcher : System.ComponentModel.Component
type ManagementEventWatcher = class
inherit Component
Public Class ManagementEventWatcher
Inherits Component
- Ereditarietà
Esempio
Nell'esempio seguente viene illustrato come il client riceve la notifica quando viene creata un'istanza di Win32_Process perché la classe di evento è __InstanceCreationEvent. Per altre informazioni, vedere la documentazione di Strumentazione gestione Windows . Il client riceve gli eventi in modo sincrono chiamando il metodo WaitForNextEvent. Questo esempio può essere testato avviando un processo, ad esempio Blocco note, mentre il codice di esempio è in esecuzione.
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
Costruttori
ManagementEventWatcher() |
Inizializza una nuova istanza della classe ManagementEventWatcher. Per un'inizializzazione ulteriore, impostare le proprietà sull'oggetto. Si tratta del costruttore senza parametri. |
ManagementEventWatcher(EventQuery) |
Inizializza una nuova istanza della classe ManagementEventWatcher quando viene specificata una query di eventi WMI. |
ManagementEventWatcher(ManagementScope, EventQuery) |
Inizializza una nuova istanza della classe ManagementEventWatcher che attende gli eventi in conformità alla query di eventi WMI data. |
ManagementEventWatcher(ManagementScope, EventQuery, EventWatcherOptions) |
Inizializza una nuova istanza della classe ManagementEventWatcher che attende gli eventi in conformità alla query di eventi WMI fornita, in base alle opzioni specificate. Per questa variante, la query e l'ambito sono oggetti specificati. L'oggetto di opzioni può specificare opzioni quali il timeout e le informazioni sul contesto. |
ManagementEventWatcher(String) |
Inizializza una nuova istanza della classe ManagementEventWatcher quando viene specificata una query di eventi WMI in formato stringa. |
ManagementEventWatcher(String, String) |
Inizializza una nuova istanza della classe ManagementEventWatcher che attende gli eventi in conformità alla query di eventi WMI data. Per questa variante, la query e l'ambito sono specificati in forma di stringhe. |
ManagementEventWatcher(String, String, EventWatcherOptions) |
Inizializza una nuova istanza della ManagementEventWatcher classe che ascolta gli eventi conformi alla query di evento WMI specificata, in base alle opzioni specificate. Per questa variante, la query e l'ambito sono specificati in forma di stringhe. L'oggetto di opzioni può specificare opzioni quali il timeout e le informazioni sul contesto. |
Proprietà
CanRaiseEvents |
Ottiene un valore che indica se il componente può generare un evento. (Ereditato da Component) |
Container |
Ottiene l'oggetto IContainer che contiene Component. (Ereditato da Component) |
DesignMode |
Ottiene un valore che indica se il Component si trova in modalità progettazione. (Ereditato da Component) |
Events |
Ottiene l'elenco dei gestori eventi allegati a questo Component. (Ereditato da Component) |
Options |
Ottiene o imposta le opzioni utilizzate per il controllo degli eventi. |
Query |
Ottiene o imposta il criterio da applicare agli eventi. |
Scope |
Ottiene o imposta l'ambito nel quale eseguire il controllo degli eventi, ossia lo spazio dei nomi o l'ambito. |
Site |
Ottiene o imposta l'oggetto ISite di Component. (Ereditato da Component) |
Metodi
CreateObjRef(Type) |
Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto. (Ereditato da MarshalByRefObject) |
Dispose() |
Rilascia tutte le risorse usate da Component. (Ereditato da Component) |
Dispose(Boolean) |
Rilascia le risorse non gestite usate da Component e, facoltativamente, le risorse gestite. (Ereditato da Component) |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
Finalize() |
Garantisce che le chiamate in sospeso vengano eliminate. Si tratta del distruttore dell'oggetto. In C#, i finalizzatori sono espressi utilizzando la sintassi dei distruttori. |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetLifetimeService() |
Obsoleti.
Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza. (Ereditato da MarshalByRefObject) |
GetService(Type) |
Consente di restituire un oggetto che rappresenta un servizio fornito da Component o dal relativo Container. (Ereditato da Component) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
InitializeLifetimeService() |
Obsoleti.
Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza. (Ereditato da MarshalByRefObject) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
MemberwiseClone(Boolean) |
Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente. (Ereditato da MarshalByRefObject) |
Start() |
Sottoscrive eventi con la query fornita e li trasmette in modo asincrono tramite l'evento EventArrived. |
Stop() |
Annulla la sottoscrizione, sincrona o asincrona. |
ToString() |
Restituisce un oggetto String che contiene il nome dell'eventuale oggetto Component. Questo metodo non deve essere sottoposto a override. (Ereditato da Component) |
WaitForNextEvent() |
Attende l'evento successivo che corrisponde alla query specificata in arrivo, quindi lo restituisce. |
Eventi
Disposed |
Si verifica quando il componente viene eliminato da una chiamata al metodo Dispose(). (Ereditato da Component) |
EventArrived |
Viene generato quando si presenta un nuovo evento. |
Stopped |
Viene generato quando viene annullata una sottoscrizione. |