Makro TraceLoggingStruct (traceloggingprovider.h)
Makro pembungkus TraceLogging yang menambahkan bidang yang berisi bidang lain ke peristiwa.
Sintaks
void TraceLoggingStruct(
[in] fieldCount,
[in] name,
[in, optional] __VA_ARGS__
);
Parameter
[in] fieldCount
Jumlah bidang yang akan dianggap sebagai bagian dari struktur. Parameter ini harus berupa konstanta waktu kompilasi.
[in] name
Nama yang akan digunakan untuk struktur dalam peristiwa. Parameter nama harus berupa string harfiah (bukan variabel) dan tidak boleh berisi karakter '\0'.
[in, optional] __VA_ARGS__
Parameter deskripsi dan tag opsional untuk definisi bidang.
TraceLoggingStruct dapat ditentukan dengan 2, 3, atau 4 parameter. Jika parameter tidak ditentukan, default akan digunakan. Misalnya, TraceLoggingStruct(3, "MyStruct")
sama dengan TraceLoggingStruct(3, "MyStruct", "", 0)
.
[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
TraceLoggingStruct(fieldCount, name, ...)
dapat digunakan sebagai parameter untuk pemanggilan makro TraceLoggingWrite . Setiap parameter TraceLoggingStruct menambahkan satu bidang logis ke peristiwa. Bidang adalah struktur atau grup yang berisi bidang logika fieldCount berikutnya sebagai nilainya.
Contoh
TraceLoggingWrite(
g_hProvider,
"MyEventWithStruct",
TraceLoggingLevel(WINEVENT_LEVEL_WARNING), // Levels defined in <winmeta.h>
TraceLoggingKeyword(MyEventCategories), // Provider-defined categories
TraceLoggingInt32(num1, "BeforeStruct"),
TraceLoggingStruct(3, "StructWith3Fields"),
TraceLoggingInt32(num2, "StructField1"),
TraceLoggingInt32(num3, "StructField2"),
TraceLoggingInt32(num4, "StructField3"),
TraceLoggingInt32(num5, "AfterStruct));
TraceLoggingWrite(
g_hProvider,
"MyEventWithNestedStruct",
TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE), // Levels defined in <winmeta.h>
TraceLoggingKeyword(MyEventCategories), // Provider-defined categories
TraceLoggingInt32(num1, "BeforeStruct"),
TraceLoggingStruct(3, "StructWith3Fields"),
TraceLoggingInt32(num2, "StructField1"),
TraceLoggingStruct(2, "StructField2"),
TraceLoggingInt32(num3, "StructField2NestedField1"),
TraceLoggingInt32(num4, "StructField2NestedField2"),
TraceLoggingInt32(num5, "StructField3"),
TraceLoggingInt32(num6, "AfterStruct));
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk