ManagementEventWatcher Classe

Definizione

Sottoscrive le notifiche di eventi temporanee in base a una query evento 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à
ManagementEventWatcher

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 Windows Management Instrumentation. Il client riceve gli eventi in modo sincrono chiamando il WaitForNextEvent metodo . 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

Nome Descrizione
ManagementEventWatcher()

Inizializza una nuova istanza della classe ManagementEventWatcher. Per un'ulteriore inizializzazione, impostare le proprietà sull'oggetto . Si tratta del costruttore senza parametri.

ManagementEventWatcher(EventQuery)

Inizializza una nuova istanza della ManagementEventWatcher classe quando viene assegnata una query di evento WMI.

ManagementEventWatcher(ManagementScope, EventQuery, EventWatcherOptions)

Inizializza una nuova istanza della ManagementEventWatcher classe in ascolto degli eventi conformi alla query evento WMI specificata, in base alle opzioni specificate. Per questa variante, la query e l'ambito sono oggetti specificati. L'oggetto opzioni può specificare opzioni quali timeout e informazioni di contesto.

ManagementEventWatcher(ManagementScope, EventQuery)

Inizializza una nuova istanza della ManagementEventWatcher classe in ascolto degli eventi conformi alla query di evento WMI specificata.

ManagementEventWatcher(String, String, EventWatcherOptions)

Inizializza una nuova istanza della ManagementEventWatcher classe in ascolto degli eventi conformi alla query evento WMI specificata, in base alle opzioni specificate. Per questa variante, la query e l'ambito vengono specificati come stringhe. L'oggetto opzioni può specificare opzioni come un timeout e informazioni di contesto.

ManagementEventWatcher(String, String)

Inizializza una nuova istanza della ManagementEventWatcher classe in ascolto degli eventi conformi alla query di evento WMI specificata. Per questa variante, la query e l'ambito vengono specificati come stringhe.

ManagementEventWatcher(String)

Inizializza una nuova istanza della ManagementEventWatcher classe quando viene assegnata una query di evento WMI sotto forma di stringa.

Proprietà

Nome Descrizione
CanRaiseEvents

Ottiene un valore che indica se il componente può generare un evento.

(Ereditato da Component)
Container

Ottiene l'oggetto IContainer contenente l'oggetto Component.

(Ereditato da Component)
DesignMode

Ottiene un valore che indica se è Component attualmente in modalità progettazione.

(Ereditato da Component)
Events

Ottiene l'elenco dei gestori eventi associati a questo Componentoggetto .

(Ereditato da Component)
Options

Ottiene o imposta le opzioni utilizzate per controllare gli eventi.

Query

Ottiene o imposta i criteri da applicare agli eventi.

Scope

Ottiene o imposta l'ambito in cui controllare gli eventi (spazio dei nomi o ambito).

Site

Ottiene o imposta il ISite del Component.

(Ereditato da Component)

Metodi

Nome Descrizione
CreateObjRef(Type)

Crea un oggetto che contiene tutte le informazioni pertinenti necessarie per generare un proxy utilizzato per comunicare 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, rilascia le risorse gestite.

(Ereditato da Component)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
Finalize()

Assicura che le chiamate in sospeso vengano cancellate. Si tratta del distruttore per l'oggetto . In C#, i finalizzatori vengono espressi usando la sintassi del distruttore.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetLifetimeService()

Recupera l'oggetto servizio di durata corrente che controlla i criteri di durata per questa istanza.

(Ereditato da MarshalByRefObject)
GetService(Type)

Restituisce un oggetto che rappresenta un servizio fornito da Component o da Container.

(Ereditato da Component)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
InitializeLifetimeService()

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.

(Ereditato da MarshalByRefObject)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia superficiale dell'oggetto corrente MarshalByRefObject .

(Ereditato da MarshalByRefObject)
Start()

Sottoscrive gli eventi con la query specificata e li recapita, in modo asincrono, tramite l'evento EventArrived .

Stop()

Annulla la sottoscrizione indipendentemente dal fatto che sia sincrona o asincrona.

ToString()

Restituisce un oggetto String contenente il nome dell'oggetto Component, se presente. Questo metodo non deve essere sottoposto a override.

(Ereditato da Component)
WaitForNextEvent()

Attende l'arrivo dell'evento successivo che corrisponde alla query specificata e quindi lo restituisce.

Eventi

Nome Descrizione
Disposed

Si verifica quando il componente viene eliminato da una chiamata al Dispose() metodo .

(Ereditato da Component)
EventArrived

Si verifica quando arriva un nuovo evento.

Stopped

Si verifica quando una sottoscrizione viene annullata.

Si applica a