ManagementEventWatcher Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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é. |