Réception des notifications d’événements
Les requêtes d’événements sont utilisées par les consommateurs d’événements temporaires, les consommateurs d’événements permanents et les fournisseurs d’événements. Les consommateurs d’événements utilisent des requêtes d’événements pour spécifier des événements intéressants, et les fournisseurs d’événements utilisent les requêtes pour spécifier les événements qu’ils fournissent.
Les consommateurs temporaires placent des requêtes lors des appels à la méthode IWbemServices::ExecNotificationQuery ou IWbemServices::ExecNotificationQueryAsync. Les consommateurs d’événements permanents placent des requêtes dans la propriété Query d’une instance de la classe système __EventFilter.
Les fournisseurs d’événements utilisent des requêtes d’événements pour s’inscrire afin de prendre en charge un ou plusieurs types d’événements. Ils placent les requêtes dans la propriété EventQueryList d’une instance de la classe système __EventProviderRegistration. Tous les fournisseurs d’événements créent une instance __EventProviderRegistration pour s’inscrire dans Windows Management Instrumentation (WMI). Pour plus d’informations, consultez Inscription d’un fournisseur d’événements.
Les consommateurs et fournisseurs d’événements utilisent l’instruction SELECT et une clause WHERE associée pour les requêtes d’événements, ainsi qu’une variété d’extensions spécifiques au langage de requête WMI (WQL). Les extensions sont utilisées pour protéger les consommateurs contre les notifications qui se produisent trop fréquemment pour être utiles.
Les consommateurs qui ne nécessitent pas de notification chaque fois qu’un événement se produit peuvent spécifier les clauses suivantes dans leurs requêtes :
Les clauses WITHIN et HAVING affectent le minutage des événements, et la clause GROUP entraîne l’envoi d’un événement représentatif à la place d’un événement fréquent.