TraceLoggingSetInformation-Funktion (traceloggingprovider.h)
Konfiguriert einen TraceLogging-Anbieter durch Aufrufen von EventSetInformation.
Syntax
TLG_STATUS TraceLoggingSetInformation(
TraceLoggingHProvider hProvider,
EVENT_INFO_CLASS informationClass,
PVOID pvInformation,
ULONG cbInformation
);
Parameter
hProvider
Handle mit dem zu konfigurierenden TraceLogging-Anbieter. Der Anbieter muss sich im registrierten Zustand befinden.
informationClass
Die EVENT_INFO_CLASS der zu konfigurierenden Einstellung.
pvInformation
Der Eingabepuffer mit dem Wert der zu konfigurierenden Einstellung. Das Format dieses Puffers hängt vom Wert des informationClass-Parameters ab.
cbInformation
Die Größe der Daten im Eingabepuffer in Bytes.
Rückgabewert
Wenn Sie diese Funktion aus Benutzermoduscode aufrufen, gibt die Funktion einen HRESULT
zurück. Verwenden Sie das SUCCEEDED()
Makro, um zu bestimmen, ob die Funktion erfolgreich ist.
Wenn Sie diese Funktion aus Kernelmoduscode aufrufen, gibt die Funktion einen NTSTATUS
zurück. Verwenden Sie das NT_SUCCESS()
Makro, um zu bestimmen, ob die Funktion erfolgreich ist.
Hinweise
Diese Funktion dient als Wrapper für die EventSetInformation-Funktion .
Die EventSetInformation-Funktion ist nicht in allen Versionen von Windows verfügbar. Das Standardverhalten von TraceLoggingSetInformation hängt von den Kompilierzeitwerten der WINVER
Makros (Benutzermodus) oder NTDDI_VERSION
(Kernelmodus) ab:
- Wenn bekannt ist, dass die Zielversion von Windows (wie von
WINVER
oderNTDDI_VERSION
angegeben) EventSetInformation unterstützt, ruft TraceLoggingSetInformationeventSetInformation direkt auf. - Andernfalls verwendet TraceLoggingSetInformationGetProcAddress (Benutzermodus) oder MmGetSystemRoutineAddress (Kernelmodus), um EventSetInformation zu suchen und aufzurufen. Wenn dies fehlschlägt, wird TraceLoggingSetInformation (Benutzermodus) oder
STATUS_NOT_SUPPORTED
(Kernelmodus) zurückgegebenHRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
.
Um das Standardverhalten dieser Funktion außer Kraft zu setzen, definieren Sie das TLG_HAVE_EVENT_SET_INFORMATION
Makro, bevor Sie #include <TraceLoggingProvider.h>
:
- Wenn Sie
#define TLG_HAVE_EVENT_SET_INFORMATION 0
dann TraceLoggingSetInformation nichts tun und zurückgebenHRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
(Benutzermodus) oderSTATUS_ENTRYPOINT_NOT_FOUND
(Kernelmodus). - Wenn Sie
#define TLG_HAVE_EVENT_SET_INFORMATION 1
dann TraceLoggingSetInformation aufrufen, ruft EventSetInformation direkt auf. - Wenn Sie
#define TLG_HAVE_EVENT_SET_INFORMATION 2
dies tun, ruft TraceLoggingSetInformationEventSetInformation über GetProcAddress (Benutzermodus) oder MmGetSystemRoutineAddress (Kernelmodus) auf.
Weitere Informationen finden Sie in den Kommentaren in der TraceLoggingProvider.h
Kopfzeile zum TLG_HAVE_EVENT_SET_INFORMATION
Makro.
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 |
Bibliothek | Advapi32.lib |