Partager via


Fonction EventProviderEnabled (evntprov.h)

Détermine si un fournisseur d’événements doit générer un événement particulier en fonction du niveau et du mot clé 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 EventProviderEnabled(
  [in] REGHANDLE RegHandle,
  [in] UCHAR     Level,
  [in] ULONGLONG Keyword
);

Paramètres

[in] RegHandle

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

Si RegHandle a la valeur NULL, EventProviderEnabled retourne FALSE.

[in] Level

Nombre 8 bits utilisé pour décrire la gravité ou l’importance d’un événement. Pour plus d’informations sur les valeurs au niveau de l’événement, consultez EVENT_DESCRIPTOR.

[in] Keyword

Masque de bits 64 bits utilisé pour indiquer l’appartenance d’un événement à un ensemble de catégories d’événements. Pour plus d’informations sur les valeurs de mot clé d’événements, consultez EVENT_DESCRIPTOR.

Valeur retournée

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.

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 fournisseur, du niveau de l’événement et de l’événement mot clé.

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 EventEnabled. 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 EventProviderEnabled directement :

  • Les API EventWrite incluent leur propre test EventProviderEnabled 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 EventProviderEnabled. 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 EventProviderEnabled.
  • Les implémentations de l’infrastructure ETW case activée généralement leur propre état de fournisseur au lieu d’appeler EventProviderEnabled.

Pour plus d’informations, consultez 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

EventEnabled

EVENT_DESCRIPTOR