共用方式為


TraceLoggingValue 宏 (traceloggingprovider.h)

C++ 的 TraceLogging 包裝函式宏,會將具有自動推斷類型的欄位加入事件。

語法

void TraceLoggingValue(
  [in]            value,
  [in, optional]  __VA_ARGS__
);

參數

[in] value

事件域值。

[in, optional] __VA_ARGS__

欄位定義的選擇性 名稱描述標記 參數。

TraceLoggingValue 可以使用 1、2、3 或 4 參數來指定。 如果未指定參數,則會使用預設值。 例如,TraceLoggingValue(a+b) 相當於 TraceLoggingValue(a+b, "a+b", "", 0)

  • [in, optional] name

    要用於事件欄位的名稱。 如果提供,name 參數必須是字串常值, (不是變數) ,且不得包含任何 '\0' 字元。 如果未提供,事件功能變數名稱將會以 為基礎。

  • [in, optional] description

    事件欄位值的描述。 如果提供,description 參數必須是字串常值,且將會包含在 PDB 中。

  • [in, optional] tags

    編譯時間常數整數值。 值的低 28 位將會包含在欄位的元數據中。 此值的語意是由事件取用者所定義。 在事件處理期間,可以從 [EVENT_PROPERTY_INFO 標記 ] 字段擷取此值。

傳回值

備註

在 C++ 程式代碼中, TraceLoggingValue(value, ...) 可作為 TraceLoggingWrite 宏調用的參數。 每個 TraceLoggingValue 參數都會將一個字段新增至事件。

ETW 事件中的欄位類型會自動從 表達式的類型推斷。 根據 值的型別, TraceLoggingValue(value, ...) 相當於其中一個標準 TraceLogging 包裝函式宏,如下所示:

類型 相當於 備註
bool TraceLoggingBoolean
char TraceLoggingChar 僅適用於 char,不適用於帶正負號的 char 或 unsigned char。
char16_t TraceLoggingChar16
wchar_t TraceLoggingWChar 僅適用於原生wchar_t,不適用於USHORT。
intNN_t TraceLoggingIntNN 針對帶正負號的 char、short、int、long 和 long long。
uintNN_t TraceLoggingUIntNN 針對不帶正負號的 char、short、int、long 和 long long。
float TraceLoggingFloat32
double TraceLoggingFloat64
GUID TraceLoggingGuid
FILETIME TraceLoggingFileTime
SYSTEMTIME TraceLoggingSystemTime
SID* TraceLoggingSid 必須是非 NULL,而且必須指向有效的 SID
void* TraceLoggingPointer 記錄指標值,而不是參考的數據。
char* TraceLoggingString 以零結尾CP_ACP字串。 NULL 會 ""被視為 。
char16_t* TraceLoggingString16 以零結尾的UTF-16字串。 NULL 會 u""被視為 。
wchar_t* TraceLoggingWideString 以零結尾的UTF-16字串。 NULL 會 L""被視為 。

規格需求

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

另請參閱

TraceLoggingWrite

TraceLogging 包裝函式宏