Bagikan melalui


Referensi TraceLogging

Topik berikut memberikan informasi tentang C/C++ TraceLogging API.

Catatan

Jika Anda menghasilkan peristiwa dari kode C/C++ dan peristiwa ditentukan pada waktu kompilasi, gunakan API yang dijelaskan di bagian ini. Jika tidak, jika Anda menghasilkan peristiwa dari kode .NET, gunakan kelas .NET EventSource . Jika tidak, jika Anda menggunakan Windows Runtime (WinRT), gunakan LoggingChannel. Jika tidak, Anda mungkin dapat menggunakan opsi yang didukung komunitas seperti TraceLoggingDynamic.

TraceLogging dibangun pada Pelacakan Peristiwa untuk Windows (ETW) dan lebih mudah digunakan daripada ETW atau WPP berbasis manifes. TraceLogging memungkinkan Anda menghasilkan peristiwa yang menyertakan data terstruktur, mendukung korelasi peristiwa menggunakan aktivitas ETW, dan tidak memerlukan file XML manifes instrumentasi terpisah untuk pendekodean.

TraceLoggingProvider.h adalah API yang direkomendasikan untuk pengembang C/C++ dalam mode pengguna atau kernel. Tautan berikut menjelaskan API C/C++.

Perhatikan bahwa nilai WINVER (mode pengguna) akan memengaruhi perilaku TraceLoggingProvider.h:

  • Jika WINVER tidak diatur sebelumnya termasuk <windows.h>, maka <windows.h> akan mengatur WINVER ke nilai default yang sesuai dengan versi SDK.
  • Jika Anda menggunakan TraceLoggingProvider.h dengan WINVER yang diatur ke 0x0602 (Windows 8) atau lebih tinggi, program mungkin tidak berjalan pada Windows Vista atau Windows 7 (TraceLoggingProvider.h akan mencoba langsung menggunakan EventSetInformation, yang tidak ada di Windows Vista atau Windows 7 versi RTM).
  • Jika Anda menggunakan TraceLoggingProvider.h dengan WINVER diatur ke 0x0600 (Windows Vista) atau 0x0601 (Windows 7), program akan dikonfigurasi untuk kompatibilitas dan akan berfungsi pada versi Windows yang ditentukan (TraceLoggingProvider.h akan memanggil EventSetInformation melalui GetProcAddress jika tersedia).