ManagementEventWatcher Classe

Définition

S’abonne aux notifications d’événements temporaires en fonction d’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’une instance de Win32_Process est créée, car la classe d’événements est __InstanceCreationEvent. Pour plus d’informations, consultez la documentation Windows Management Instrumentation. Le client reçoit des événements de façon synchrone en appelant la WaitForNextEvent méthode. Cet exemple peut être testé en démarrant un processus, tel que le Bloc-notes, tandis 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

Nom Description
ManagementEventWatcher()

Initialise une nouvelle instance de la classe ManagementEventWatcher. Pour une initialisation supplémentaire, définissez les propriétés sur l’objet. Il s’agit du constructeur sans paramètre.

ManagementEventWatcher(EventQuery)

Initialise une nouvelle instance de la ManagementEventWatcher classe lorsqu’une requête d’événement WMI est donnée.

ManagementEventWatcher(ManagementScope, EventQuery, EventWatcherOptions)

Initialise une nouvelle instance de la ManagementEventWatcher classe qui écoute les événements conformes à la requête d’événement WMI donnée, en fonction des options spécifiées. Pour cette variante, la requête et l’étendue sont des objets spécifiés. L’objet options peut spécifier des options telles que les informations de délai d’attente et de contexte.

ManagementEventWatcher(ManagementScope, EventQuery)

Initialise une nouvelle instance de la ManagementEventWatcher classe qui écoute les événements conformes à la requête d’événement WMI donnée.

ManagementEventWatcher(String, String, EventWatcherOptions)

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

ManagementEventWatcher(String, String)

Initialise une nouvelle instance de la ManagementEventWatcher classe qui écoute les événements conformes à la requête d’événement WMI donnée. Pour cette variante, la requête et l’étendue sont spécifiées en tant que chaînes.

ManagementEventWatcher(String)

Initialise une nouvelle instance de la ManagementEventWatcher classe lorsqu’une requête d’événement WMI est donnée sous la forme d’une chaîne.

Propriétés

Nom Description
CanRaiseEvents

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

(Hérité de Component)
Container

Obtient le IContainer fichier qui contient le Component.

(Hérité de Component)
DesignMode

Obtient une valeur qui indique si la Component valeur est actuellement en mode création.

(Hérité de Component)
Events

Obtient la liste des gestionnaires d’événements qui sont 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 l’étendue dans laquelle surveiller les événements (espace de noms ou étendue).

Site

Obtient ou définit le ISite de Component.

(Hérité de Component)

Méthodes

Nom Description
CreateObjRef(Type)

Crée un objet qui contient toutes les informations pertinentes requises pour générer un proxy utilisé pour communiquer avec un objet distant.

(Hérité de MarshalByRefObject)
Dispose()

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

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

Libère les ressources non managées utilisées par les Component ressources gérées 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 de l’objet. En C#, les finaliseurs sont exprimés à l’aide de la syntaxe de destructeur.

GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetLifetimeService()

Récupère l’objet de service de durée de vie actuel 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 le Component ou par son Container.

(Hérité de Component)
GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
InitializeLifetimeService()

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

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

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

(Hérité de MarshalByRefObject)
Start()

S’abonne aux événements avec la requête donnée et les remet de manière asynchrone via l’événement EventArrived .

Stop()

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

ToString()

Retourne un String nom contenant le nom du Component, le cas échéant. Cette méthode ne doit pas être remplacée.

(Hérité de Component)
WaitForNextEvent()

Attend que l’événement suivant corresponde à la requête spécifiée à arriver, puis le retourne.

Événements

Nom Description
Disposed

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

(Hérité de Component)
EventArrived

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

Stopped

Se produit lorsqu’un abonnement est annulé.

S’applique à