Bagikan melalui


Makro TraceLoggingValue (traceloggingprovider.h)

Makro pembungkus TraceLogging untuk C++ yang menambahkan bidang dengan jenis yang disimpulkan secara otomatis ke peristiwa.

Sintaks

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

Parameter

[in] value

Nilai bidang peristiwa.

[in, optional] __VA_ARGS__

Parameter nama, deskripsi, dan tag opsional untuk definisi bidang.

TraceLoggingValue dapat ditentukan dengan parameter 1, 2, 3, atau 4. Jika parameter tidak ditentukan, default akan digunakan. Misalnya, TraceLoggingValue(a+b) sama dengan TraceLoggingValue(a+b, "a+b", "", 0).

  • [in, optional] name

    Nama yang akan digunakan untuk bidang peristiwa. Jika disediakan, parameter nama harus berupa string harfiah (bukan variabel) dan tidak boleh berisi karakter '\0'. Jika tidak disediakan, nama bidang peristiwa akan didasarkan pada nilai.

  • [in, optional] description

    Deskripsi nilai bidang peristiwa. Jika disediakan, parameter deskripsi harus berupa string harfiah dan akan disertakan dalam PDB.

  • [in, optional] tags

    Nilai bilangan bulat konstanta waktu kompilasi. 28 bit rendah dari nilai akan disertakan dalam metadata bidang. Semantik nilai ini didefinisikan oleh konsumen peristiwa. Selama pemrosesan peristiwa, nilai ini dapat diambil dari bidang Tag EVENT_PROPERTY_INFO .

Nilai kembali

Tidak ada

Keterangan

Dalam kode C++, TraceLoggingValue(value, ...) dapat digunakan sebagai parameter untuk pemanggilan makro TraceLoggingWrite . Setiap parameter TraceLoggingValue menambahkan satu bidang ke peristiwa.

Jenis bidang dalam peristiwa ETW secara otomatis disimpulkan dari jenis ekspresi nilai . Berdasarkan jenis nilai, TraceLoggingValue(value, ...) setara dengan salah satu makro pembungkus TraceLogging standar sebagai berikut:

Jenis nilai Setara dengan Catatan
bool TraceLoggingBoolean
char TraceLoggingChar Hanya untuk karakter, bukan untuk karakter yang ditandatangani atau karakter yang tidak ditandatangani.
char16_t TraceLoggingChar16
wchar_t TraceLoggingWChar Hanya untuk wchar_t asli, bukan untuk USHORT.
intNN_t TraceLoggingIntNN Untuk karakter yang ditandatangani, pendek, int, panjang, dan panjang.
uintNN_t TraceLoggingUIntNN Untuk karakter yang tidak ditandatangani, pendek, int, panjang, dan panjang.
float TraceLoggingFloat32
double TraceLoggingFloat64
GUID TraceLoggingGuid
FILETIME TraceLoggingFileTime
SYSTEMTIME TraceLoggingSystemTime
SID* TraceLoggingSid Harus non-NULL dan harus menunjuk ke yang valid SID.
void* TraceLoggingPointer Mencatat nilai pointer, bukan data yang dirujuk.
char* TraceLoggingString String CP_ACP yang dihentikan nol. NULL diperlakukan sebagai "".
char16_t* TraceLoggingString16 String UTF-16 yang dihentikan nol. NULL diperlakukan sebagai u"".
wchar_t* TraceLoggingWideString String UTF-16 yang dihentikan nol. NULL diperlakukan sebagai L"".

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2008 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header traceloggingprovider.h

Lihat juga

TraceLoggingWrite

Makro pembungkus TraceLogging