Share via


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 HRESULTzurü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 NTSTATUSzurü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 oder NTDDI_VERSIONangegeben) 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ückgegeben HRESULT_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ückgeben HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED) (Benutzermodus) oder STATUS_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

Weitere Informationen

TraceLoggingRegister

EventSetInformation

EVENT_INFO_CLASS