Bagikan melalui


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 atau NTDDI_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) atau STATUS_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 mengembalikan HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED) (mode pengguna) atau STATUS_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

Lihat juga

TraceLoggingRegister

EventSetInformation

EVENT_INFO_CLASS