Partager via


ManagementEventWatcher Classe

Définition

S’abonne à des notifications d’événements temporaires basées sur une requête d’événement spécifiée.

public ref class ManagementEventWatcher : System::ComponentModel::Component
public class ManagementEventWatcher : System.ComponentModel.Component
type ManagementEventWatcher = class
    inherit Component
Public Class ManagementEventWatcher
Inherits Component
Héritage
ManagementEventWatcher

Exemples

L’exemple suivant montre comment le client reçoit une notification lorsqu’un instance de Win32_Process est créé parce que la classe d’événements est __InstanceCreationEvent. Pour plus d’informations, consultez la documentation de Windows Management Instrumentation . Le client reçoit les événements de façon synchrone en appelant la méthode WaitForNextEvent. Cet exemple peut être testé par le démarrage d'un processus, comme le Bloc-notes, alors que l'exemple de code est en cours d'exécution.

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

Constructeurs

ManagementEventWatcher()

Initialise une nouvelle instance de la classe ManagementEventWatcher. Définissez les propriétés sur l'objet pour plus d'options d'initialisation. Il s’agit du constructeur sans paramètre.

ManagementEventWatcher(EventQuery)

Initialise une nouvelle instance de la classe ManagementEventWatcher lors de la soumission d’une requête d’événement WMI.

ManagementEventWatcher(ManagementScope, EventQuery)

Initialise une nouvelle instance de la classe ManagementEventWatcher qui écoute les événements correspondant à la requête d’événement spécifiée.

ManagementEventWatcher(ManagementScope, EventQuery, EventWatcherOptions)

Initialise une nouvelle instance de la classe ManagementEventWatcher qui écoute les événements correspondant à la requête d'événement WMI spécifiée, conformément aux options spécifiées. Pour cette variante, la requête et la portée sont des objets spécifiés. L'objet d'options peut spécifier des options telles qu'un délai d'attente et des informations de contexte.

ManagementEventWatcher(String)

Initialise une nouvelle instance de la classe ManagementEventWatcher lors de la soumission d’une requête d’événement WMI sous la forme d’une chaîne.

ManagementEventWatcher(String, String)

Initialise une nouvelle instance de la classe ManagementEventWatcher qui écoute les événements correspondant à la requête d’événement spécifiée. Pour cette variante, la requête et la portée sont spécifiées sous la forme de chaînes.

ManagementEventWatcher(String, String, EventWatcherOptions)

Initialise une nouvelle instance de la ManagementEventWatcher classe qui écoute les événements conformes à la requête d’événements WMI donnée, en fonction des options spécifiées. Pour cette variante, la requête et la portée sont spécifiées sous la forme de chaînes. L'objet d'options peut spécifier des options telles qu'un délai d'attente et des informations de contexte.

Propriétés

CanRaiseEvents

Obtient une valeur qui indique si le composant peut déclencher un événement.

(Hérité de Component)
Container

Obtient le IContainer qui contient la Component.

(Hérité de Component)
DesignMode

Obtient une valeur qui indique si Component est actuellement en mode design.

(Hérité de Component)
Events

Obtient la liste des gestionnaires d'événements attachés à ce Component.

(Hérité de Component)
Options

Obtient ou définit les options utilisées pour surveiller les événements.

Query

Obtient ou définit les critères à appliquer aux événements.

Scope

Obtient ou définit la portée dans laquelle surveiller les événements (espace de noms ou portée).

Site

Obtient ou définit le ISite de Component.

(Hérité de Component)

Méthodes

CreateObjRef(Type)

Crée un objet contenant toutes les informations appropriées requises pour générer un proxy permettant de communiquer avec un objet distant.

(Hérité de MarshalByRefObject)
Dispose()

Libère toutes les ressources utilisées par Component.

(Hérité de Component)
Dispose(Boolean)

Libère les ressources non managées utilisées par Component et libère éventuellement les ressources managées.

(Hérité de Component)
Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
Finalize()

Garantit que les appels en attente sont effacés. Il s'agit du destructeur pour l'objet. En C#, les finaliseurs sont exprimés à l'aide de la syntaxe de destructeur.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetLifetimeService()
Obsolète.

Récupère l'objet de service de durée de vie en cours qui contrôle la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
GetService(Type)

Retourne un objet qui représente un service fourni par Component ou par son Container.

(Hérité de Component)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
InitializeLifetimeService()
Obsolète.

Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
MemberwiseClone(Boolean)

Crée une copie superficielle de l'objet MarshalByRefObject actuel.

(Hérité de MarshalByRefObject)
Start()

S'abonne à des événements avec la requête spécifiée et les remet, de manière asynchrone, à l'aide de l'événement EventArrived.

Stop()

Annule l'abonnement, qu'il soit synchrone ou asynchrone.

ToString()

Retourne un String contenant le nom du Component, s’il en existe un. Cette méthode ne doit pas être remplacée.

(Hérité de Component)
WaitForNextEvent()

Attend l'arrivée de l'événement suivant qui correspond à la requête spécifiée, puis le retourne.

Événements

Disposed

Se produit lorsque le composant est supprimé par un appel à la méthode Dispose().

(Hérité de Component)
EventArrived

Se produit lorsqu'un nouvel événement arrive.

Stopped

Se produit lorsqu'un abonnement est annulé.

S’applique à