TraceLoggingProviderEnabled-Funktion (traceloggingprovider.h)

TraceLogging-Makro, um zu bestimmen, ob ein Ablaufverfolgungs-Consumer auf ein Ereignis dieses Anbieters lauscht.

Syntax

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

Parameter

hProvider

Das Handle für den zu überprüfenden TraceLogging-Anbieter.

eventLevel

Die Ereignisebene, die Sie überprüfen möchten. Die Ereignisebene 0 gibt alle Ereignisse an.

eventKeyword

Die Schlüsselwort (keyword), die Sie überprüfen möchten. Eine Schlüsselwort (keyword) von 0 gibt keine spezifischen Schlüsselwörter an.

Rückgabewert

Gibt TRUE zurück, wenn eine Ablaufverfolgungs-Consumersitzung Ereignisse lauscht, die den angegebenen Kriterien entsprechen, andernfalls FALSE .

Hinweise

Diese API bietet eine einfache Möglichkeit, zu bestimmen, ob ein Ereignis aktiviert ist, d. h. ob Ereignis-Consumersitzungen am Empfang eines Ereignisses vom angegebenen Anbieter mit der angegebenen Ebene und Schlüsselwort (keyword) interessiert sind.

Hinweis

Diese API führt einen konservativen Schnelltest durch. Es ist möglich, dass diese API true in bestimmten Fällen zurückgibt, in denen eine nachfolgende ausführliche Filterung feststellt, dass das Ereignis tatsächlich von keiner Sitzung erfasst werden muss.

Die meisten Ereignisanbieter rufen TraceLoggingProviderEnabled nicht direkt auf. Das TraceLoggingWrite-Makro führt einen eigenen TraceLoggingProviderEnabled-Test durch und gibt sofort zurück, wenn das Ereignis nicht aktiviert ist. Es kann jedoch hilfreich sein, dass ein Anbieter TraceLoggingProviderEnabled aufruft , bevor er komplexe Vorbereitungen ausführt, bevor ein TraceLoggingWrite-Makro aufgerufen wird.

Beispiele

// 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));
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [Desktop-Apps | UWP-Apps]
Kopfzeile traceloggingprovider.h

Weitere Informationen

TraceLoggingWrite

TraceLogging-Wrappermakros

EventProviderEnabled