Bagikan melalui


Fungsi EventEnabled (evntprov.h)

Menentukan apakah penyedia peristiwa harus menghasilkan peristiwa tertentu berdasarkan EVENT_DESCRIPTOR 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 EventEnabled(
  [in] REGHANDLE          RegHandle,
  [in] PCEVENT_DESCRIPTOR EventDescriptor
);

Parameter

[in] RegHandle

Handel pendaftaran penyedia. Handel berasal dari EventRegister.

Jika RegHandleNULL, EventEnabled akan mengembalikan FALSE.

[in] EventDescriptor

EVENT_DESCRIPTOR yang menyediakan informasi yang akan digunakan untuk menentukan apakah peristiwa diaktifkan. Ini termasuk Tingkat peristiwa (tingkat keparahan) dan Kata Kunci (kategori).

Menampilkan nilai

Mengembalikan FALSE jika penyedia harus melewati pembuatan peristiwa, yaitu mengembalikan FALSE jika ETW dapat dengan cepat menentukan bahwa tidak ada sesi pengumpulan peristiwa yang akan merekam peristiwa dari penyedia yang diberikan dengan deskriptor yang ditentukan. Jika tidak, mengembalikan TRUE, menunjukkan bahwa penyedia harus menghasilkan peristiwa.

Keterangan

API ini menyediakan cara sederhana untuk menentukan apakah peristiwa diaktifkan (yaitu apakah ada sesi konsumen peristiwa yang tertarik untuk menerima peristiwa) berdasarkan handel penyedia dan pendeskripsi 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 EventProviderEnabled. 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 EventEnabled secara langsung:

  • API EventWrite menyertakan pengujian EventEnabled 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 EventEnabled. Kerangka kerja ETW umumnya menyediakan API berkemampuan peristiwa mereka sendiri yang harus digunakan alih-alih memanggil EventEnabled.
  • Implementasi kerangka kerja ETW biasanya memeriksa status penyedia mereka sendiri daripada memanggil 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

EventProviderEnabled

EVENT_DESCRIPTOR