共用方式為


TraceLoggingSetInformation 函式 (traceloggingprovider.h)

呼叫 EventSetInformation 來設定 TraceLogging 提供者。

語法

TLG_STATUS TraceLoggingSetInformation(
  TraceLoggingHProvider hProvider,
  EVENT_INFO_CLASS      informationClass,
  PVOID                 pvInformation,
  ULONG                 cbInformation
);

參數

hProvider

要設定之 TraceLogging 提供者的句柄。 提供者必須處於 已註冊 狀態。

informationClass

要設定之設定 的EVENT_INFO_CLASS

pvInformation

具有要設定之設定值的輸入緩衝區。 這個緩衝區的格式取決於 informationClass 參數的值。

cbInformation

輸入緩衝區中數據的大小,以位元組為單位。

傳回值

如果您從使用者模式程式代碼呼叫此函式,函式會傳 HRESULT回 。 SUCCEEDED()使用宏來判斷函式是否成功。

如果您從內核模式程式代碼呼叫此函式,函式會 NTSTATUS傳回 。 NT_SUCCESS()使用宏來判斷函式是否成功。

備註

此函式可作為 EventSetInformation 函式的包裝函式。

EventSetInformation 函式不適用於所有版本的 Windows。 TraceLoggingSetInformation 的預設行為取決於 (使用者模式) 或 NTDDI_VERSION (內核模式) 宏的編譯時間值WINVER

  • 如果或 NTDDI_VERSION) 已知WINVER支援 EventSetInformation 的目標 Windows (版本,TraceLoggingSetInformation 會直接叫用 EventSetInformation
  • 否則 ,TraceLoggingSetInformation 會使用 GetProcAddress (使用者模式) 或 MmGetSystemRoutineAddress (kernel-mode) 來尋找及叫用 EventSetInformation。 如果失敗, TraceLoggingSetInformation 會傳回 HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED) (使用者模式) 或 STATUS_NOT_SUPPORTED (內核模式) 。

若要覆寫此函式的預設行為,請在之前#include <TraceLoggingProvider.h>定義TLG_HAVE_EVENT_SET_INFORMATION宏:

  • 如果您 #define TLG_HAVE_EVENT_SET_INFORMATION 0 接著 TraceLoggingSetInformation 不會執行任何動作,並傳回 HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED) (使用者模式) 或 STATUS_ENTRYPOINT_NOT_FOUND (內核模式) 。
  • 如果您 #define TLG_HAVE_EVENT_SET_INFORMATION 1 接著 TraceLoggingSetInformation 會直接叫用 EventSetInformation
  • 如果您#define TLG_HAVE_EVENT_SET_INFORMATION 2接著 TraceLoggingSetInformation 會透過 GetProcAddress 叫用 EventSetInformation (使用者模式) 或 MmGetSystemRoutineAddress (內核模式) 。

如需詳細資訊,請參閱標頭中有關宏的TraceLoggingProvider.hTLG_HAVE_EVENT_SET_INFORMATION批註。

規格需求

需求
最低支援的用戶端 Windows Vista [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
標頭 traceloggingprovider.h
程式庫 Advapi32.lib

另請參閱

TraceLoggingRegister

EventSetInformation

EVENT_INFO_CLASS