Freigeben über


EventProviderEnabled-Funktion (evntprov.h)

Bestimmt, ob ein Ereignisanbieter ein bestimmtes Ereignis basierend auf der Ebene und dem Schlüsselwort des Ereignisses generieren soll.

Gibt FALSE zurück, wenn ETW schnell feststellen kann, dass keine Sitzung auf ein angegebenes Ereignis des angegebenen Anbieters lauscht. Andernfalls wird TRUE zurückgegeben.

Syntax

BOOLEAN EVNTAPI EventProviderEnabled(
  [in] REGHANDLE RegHandle,
  [in] UCHAR     Level,
  [in] ULONGLONG Keyword
);

Parameter

[in] RegHandle

Registrierungshandle des Anbieters. Das Handle stammt aus EventRegister.

Wenn RegHandleNULL ist, gibt EventProviderEnabledFALSE zurück.

[in] Level

Eine 8-Bit-Zahl, die verwendet wird, um den Schweregrad oder die Wichtigkeit eines Ereignisses zu beschreiben. Weitere Informationen zu Werten auf Ereignisebene finden Sie unter EVENT_DESCRIPTOR .

[in] Keyword

Eine 64-Bit-Bit-Maske, die verwendet wird, um die Mitgliedschaft eines Ereignisses in einer Reihe von Ereigniskategorien anzugeben. Weitere Informationen zu Ereigniswerten Schlüsselwort (keyword) finden Sie unter EVENT_DESCRIPTOR.

Rückgabewert

Gibt FALSE zurück, wenn ETW schnell feststellen kann, dass keine Sitzung auf ein angegebenes Ereignis des angegebenen Anbieters lauscht. Andernfalls wird TRUE zurückgegeben.

Hinweise

Diese API bietet eine einfache Möglichkeit, basierend auf dem Anbieterhandle, der Ereignisebene und dem ereignisbasierten Schlüsselwort (keyword) zu bestimmen, ob ein Ereignis aktiviert ist (d. h. ob Ereignis consumersitzungen am Empfang des Ereignisses 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 detaillierte Filterung feststellt, dass keine Sitzungen das Ereignis aufzeichnen müssen.

Diese API bietet Funktionen, die der von EventEnabled bereitgestellten Funktionalität ähneln. Wenn ein Anbieter Zugriff auf die vollständige EVENT_DESCRIPTOR eines Ereignisses hat, sollte der Anbieter EventEnabled verwenden. Wenn ein Anbieter nur Zugriff auf die Ebene und das Schlüsselwort des Ereignisses hat, sollte der Anbieter EventProviderEnabled verwenden.

Die meisten Ereignisanbieter rufen EventProviderEnabled nicht direkt auf:

  • Die EventWrite-APIs enthalten einen eigenen EventProviderEnabled-Test und geben sofort zurück, wenn das Ereignis nicht aktiviert ist.
  • Die meisten ETW-Anbieter verwenden ein ETW-Framework (z. B. Manifeste oder TraceLogging), anstatt EventWrite oder EventProviderEnabled direkt aufzurufen. ETW-Frameworks bieten in der Regel eine eigene ereignisfähige API, die anstelle von EventProviderEnabled verwendet werden sollte.
  • ETW-Frameworkimplementierungen überprüfen in der Regel ihren eigenen Anbieterstatus, anstatt EventProviderEnabled aufzurufen.

Weitere Informationen finden Sie unter EventEnabled.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile evntprov.h
Bibliothek Advapi32.lib
DLL Advapi32.dll

Weitere Informationen

EventEnabled

EVENT_DESCRIPTOR