Fungsi EventProviderEnabled (evntprov.h)

Menentukan apakah penyedia peristiwa harus menghasilkan peristiwa tertentu berdasarkan Tingkat dan Kata Kunci peristiwa.

Mengembalikan FALSE jika ETW dapat dengan cepat menentukan bahwa tidak ada sesi yang mendengarkan peristiwa tertentu dari penyedia tertentu. Jika tidak, mengembalikan TRUE.

Sintaks

BOOLEAN EVNTAPI EventProviderEnabled(
  [in] REGHANDLE RegHandle,
  [in] UCHAR     Level,
  [in] ULONGLONG Keyword
);

Parameter

[in] RegHandle

Handel pendaftaran penyedia. Handel berasal dari EventRegister.

Jika RegHandleNULL, EventProviderEnabled akan mengembalikan FALSE.

[in] Level

Angka 8-bit yang digunakan untuk menjelaskan tingkat keparahan atau kepentingan peristiwa. Lihat EVENT_DESCRIPTOR untuk informasi selengkapnya tentang nilai tingkat peristiwa.

[in] Keyword

Bitmask 64-bit yang digunakan untuk menunjukkan keanggotaan peristiwa dalam serangkaian kategori peristiwa. Lihat EVENT_DESCRIPTOR untuk informasi selengkapnya tentang nilai kata kunci peristiwa.

Menampilkan nilai

Mengembalikan FALSE jika ETW dapat dengan cepat menentukan bahwa tidak ada sesi yang mendengarkan peristiwa tertentu dari penyedia tertentu. Jika tidak, mengembalikan TRUE.

Keterangan

API ini menyediakan cara sederhana untuk menentukan apakah peristiwa diaktifkan (yaitu apakah ada sesi konsumen peristiwa yang tertarik untuk menerima acara) berdasarkan handel penyedia, tingkat peristiwa, dan kata kunci peristiwa.

Catatan

API ini melakukan pengujian cepat yang konservatif. Dimungkinkan bagi API ini untuk mengembalikan true dalam kasus tertentu di mana pemfilteran mendalam berikutnya akan menentukan bahwa tidak ada sesi yang perlu merekam peristiwa.

API ini menyediakan fungsionalitas yang mirip dengan fungsionalitas yang disediakan oleh EventEnabled. Ketika penyedia memiliki akses ke EVENT_DESCRIPTOR lengkap peristiwa, penyedia harus menggunakan EventEnabled. Ketika penyedia hanya memiliki akses ke Tingkat dan Kata Kunci peristiwa, penyedia harus menggunakan EventProviderEnabled.

Sebagian besar penyedia peristiwa tidak akan memanggil EventProviderEnabled secara langsung:

  • API EventWrite menyertakan pengujian EventProviderEnabled mereka sendiri dan segera kembali jika peristiwa tidak diaktifkan.
  • Sebagian besar penyedia ETW menggunakan kerangka kerja ETW (misalnya manifes atau TraceLogging) alih-alih langsung memanggil EventWrite atau EventProviderEnabled. Kerangka kerja ETW umumnya menyediakan API berkemampuan peristiwa mereka sendiri yang harus digunakan alih-alih memanggil EventProviderEnabled.
  • Implementasi kerangka kerja ETW biasanya memeriksa status penyedia mereka sendiri daripada memanggil EventProviderEnabled.

Untuk detail tambahan, lihat EventEnabled.

Persyaratan

   
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header evntprov.h
Pustaka Advapi32.lib
DLL Advapi32.dll

Lihat juga

EventEnabled

EVENT_DESCRIPTOR