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 |