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 à 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
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é. |