Partager via


Fonction TraceLoggingProviderEnabled (traceloggingprovider.h)

Macro TraceLogging pour déterminer si un consommateur de trace écoute un événement de ce fournisseur.

Syntaxe

TLG_PFORCEINLINE BOOLEAN TraceLoggingProviderEnabled(
  TraceLoggingHProvider hProvider,
  UCHAR                 eventLevel,
  ULONGLONG             eventKeyword
);

Paramètres

hProvider

Handle du fournisseur TraceLogging à case activée.

eventLevel

Niveau d’événement que vous souhaitez case activée. Un niveau d’événement de 0 indique tous les événements.

eventKeyword

Mot clé que vous souhaitez case activée. Une mot clé de 0 n’indique aucun mot clé spécifique.

Valeur retournée

Retourne TRUE si une session de consommateur de trace écoute des événements correspondant aux critères spécifiés, false dans le cas contraire.

Remarques

Cette API fournit un moyen simple de déterminer si un événement est activé, c’est-à-dire si des sessions de consommateurs d’événements seraient intéressées par la réception d’un événement du fournisseur spécifié avec le niveau et le mot clé spécifiés.

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 réellement besoin d’enregistrer l’événement.

La plupart des fournisseurs d’événements n’appellent pas TraceLoggingProviderEnabled directement. La macro TraceLoggingWrite effectue son propre test TraceLoggingProviderEnabled et retourne immédiatement si l’événement n’est pas activé. Toutefois, il peut être utile pour un fournisseur d’appeler TraceLoggingProviderEnabled avant d’effectuer des préparations complexes avant d’appeler une macro TraceLoggingWrite .

Exemples

// Skip GetMyInformation() if nobody is listening for MyInformationEvent:
if (TraceLoggingProviderEnabled(MyProvider, MyEventLevel, MyEventKeyword))
{
    MY_INFORMATION info;
    GetMyInformation(&info);

    TraceLoggingWrite(
        MyProvider,
        "MyInformationEvent",
        TraceLoggingLevel(MyEventLevel),
        TraceLoggingKeyword(MyEventKeyword),
        TraceLoggingValue(info.Val1),
        TraceLoggingValue(info.Val2));
}

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
En-tête traceloggingprovider.h

Voir aussi

TraceLoggingWrite

Macros du wrapper TraceLogging

EventProviderEnabled