Fungsi TraceLoggingSetInformation (traceloggingprovider.h)
Mengonfigurasi penyedia TraceLogging dengan memanggil EventSetInformation.
Sintaks
TLG_STATUS TraceLoggingSetInformation(
TraceLoggingHProvider hProvider,
EVENT_INFO_CLASS informationClass,
PVOID pvInformation,
ULONG cbInformation
);
Parameter
hProvider
Tangani ke penyedia TraceLogging yang akan dikonfigurasi. Penyedia harus dalam status terdaftar .
informationClass
EVENT_INFO_CLASS pengaturan yang akan dikonfigurasi.
pvInformation
Buffer input dengan nilai pengaturan yang akan dikonfigurasi. Format buffer ini tergantung pada nilai parameter informationClass .
cbInformation
Ukuran, dalam byte, data dalam buffer input.
Nilai kembali
Jika Anda memanggil fungsi ini dari kode mode pengguna, fungsi mengembalikan HRESULT
. SUCCEEDED()
Gunakan makro untuk menentukan apakah fungsi berhasil.
Jika Anda memanggil fungsi ini dari kode mode kernel, fungsi mengembalikan NTSTATUS
. NT_SUCCESS()
Gunakan makro untuk menentukan apakah fungsi berhasil.
Keterangan
Fungsi ini berfungsi sebagai pembungkus di sekitar fungsi EventSetInformation .
Fungsi EventSetInformation tidak tersedia di semua versi Windows. Perilaku default TraceLoggingSetInformation bergantung pada nilai WINVER
waktu kompilasi makro (mode pengguna) atau NTDDI_VERSION
(mode kernel):
- Jika versi target Windows (seperti yang ditentukan oleh
WINVER
atauNTDDI_VERSION
) diketahui mendukung EventSetInformation , Maka TraceLoggingSetInformation akan langsung memanggil EventSetInformation. - Jika tidak, TraceLoggingSetInformation akan menggunakan GetProcAddress (mode pengguna) atau MmGetSystemRoutineAddress (mode kernel) untuk menemukan dan memanggil EventSetInformation. Jika ini gagal, TraceLoggingSetInformation akan kembali
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
(mode pengguna) atauSTATUS_NOT_SUPPORTED
(mode kernel).
Untuk mengambil alih perilaku default fungsi ini, tentukan TLG_HAVE_EVENT_SET_INFORMATION
makro sebelum Anda #include <TraceLoggingProvider.h>
:
- Jika Anda
#define TLG_HAVE_EVENT_SET_INFORMATION 0
kemudian TraceLoggingSetInformation tidak akan melakukan apa pun dan mengembalikanHRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
(mode pengguna) atauSTATUS_ENTRYPOINT_NOT_FOUND
(mode kernel). - Jika Anda
#define TLG_HAVE_EVENT_SET_INFORMATION 1
kemudian TraceLoggingSetInformation akan langsung memanggil EventSetInformation. - Jika Anda
#define TLG_HAVE_EVENT_SET_INFORMATION 2
kemudian TraceLoggingSetInformation akan memanggil EventSetInformation melalui GetProcAddress (user-mode) atau MmGetSystemRoutineAddress (mode kernel).
Untuk informasi tambahan, lihat komentar di TraceLoggingProvider.h
header mengenai TLG_HAVE_EVENT_SET_INFORMATION
makro.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2008 [aplikasi desktop | Aplikasi UWP] |
Header | traceloggingprovider.h |
Pustaka | Advapi32.lib |