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 |