Fonction EventEnabled (evntprov.h)

Détermine si un fournisseur d’événements doit générer un événement particulier en fonction de la EVENT_DESCRIPTOR de l’événement.

Retourne FALSE si ETW peut déterminer rapidement qu’aucune session n’écoute un événement spécifié à partir du fournisseur donné. Sinon, retourne TRUE.

Syntaxe

BOOLEAN EVNTAPI EventEnabled(
  [in] REGHANDLE          RegHandle,
  [in] PCEVENT_DESCRIPTOR EventDescriptor
);

Paramètres

[in] RegHandle

Handle d’inscription du fournisseur. Le handle provient d’EventRegister.

Si RegHandle a la valeur NULL, EventEnabled retourne FALSE.

[in] EventDescriptor

EVENT_DESCRIPTOR qui fournit des informations qui seront utilisées pour déterminer si l’événement est activé. Cela inclut le niveau (gravité) et le mot clé (catégories) de l’événement.

Valeur retournée

Retourne FALSE si le fournisseur doit ignorer la génération de l’événement, c’est-à-dire qu’il retourne FALSE si ETW peut déterminer rapidement qu’aucune session de collection d’événements n’enregistrerait un événement à partir du fournisseur donné avec le descripteur spécifié. Sinon, retourne TRUE, indiquant que le fournisseur doit générer l’événement.

Notes

Cette API fournit un moyen simple de déterminer si un événement est activé (c’est-à-dire si les sessions de consommateurs d’événements sont intéressées par la réception de l’événement) en fonction du handle du fournisseur et du descripteur d’événement.

Notes

Cette API effectue un test rapide conservateur. Il est possible que cette API retourne true dans certains cas où un filtrage approfondi ultérieur détermine qu’aucune session n’a besoin d’enregistrer l’événement.

Cette API fournit des fonctionnalités similaires à celles fournies par EventProviderEnabled. Lorsqu’un fournisseur a accès à la EVENT_DESCRIPTOR complète d’un événement, il doit utiliser EventEnabled. Lorsqu’un fournisseur n’a accès qu’au niveau et au mot clé de l’événement, il doit utiliser EventProviderEnabled.

La plupart des fournisseurs d’événements n’appellent pas EventEnabled directement :

  • Les API EventWrite incluent leur propre test EventEnabled et retournent immédiatement si l’événement n’est pas activé.
  • La plupart des fournisseurs ETW utilisent une infrastructure ETW (par exemple, manifestes ou TraceLogging) au lieu d’appeler directement EventWrite ou EventEnabled. Les frameworks ETW fournissent généralement leur propre API prenant en charge les événements, qui doit être utilisée au lieu d’appeler EventEnabled.
  • Les implémentations de l’infrastructure ETW case activée généralement leur propre état de fournisseur au lieu d’appeler EventEnabled.

Spécifications

   
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête evntprov.h
Bibliothèque Advapi32.lib
DLL Advapi32.dll

Voir aussi

EventProviderEnabled

EVENT_DESCRIPTOR