Bagikan melalui


EVT_SUBSCRIBE_CALLBACK fungsi panggilan balik (winevt.h)

Terapkan panggilan balik ini jika Anda memanggil fungsi EvtSubscribe untuk menerima peristiwa yang cocok dengan kueri Anda. Layanan memanggil panggilan balik Anda saat peristiwa yang cocok dengan kriteria kueri Anda dinaikkan.

Sintaks

EVT_SUBSCRIBE_CALLBACK EvtSubscribeCallback;

DWORD EvtSubscribeCallback(
  EVT_SUBSCRIBE_NOTIFY_ACTION Action,
  PVOID UserContext,
  EVT_HANDLE Event
)
{...}

Parameter

Action

Menentukan apakah parameter Peristiwa berisi peristiwa atau kode kesalahan. Untuk kemungkinan memberi tahu nilai tindakan, lihat enumerasi EVT_SUBSCRIBE_NOTIFY_ACTION .

UserContext

Konteks yang diteruskan pelanggan ke fungsi EvtSubscribe .

Event

Handel ke peristiwa. Penanganan aktivitas hanya berlaku selama durasi fungsi panggilan balik. Anda dapat menggunakan handel ini dengan fungsi log peristiwa apa pun yang mengambil handel peristiwa (misalnya, EvtRender atau EvtFormatMessage).

Jangan panggil EvtClose untuk menutup handel ini; layanan akan menutup handel ketika panggilan balik kembali.

Jika parameter Tindakan adalah EvtSubscribeActionError, transmisikan Peristiwa ke DWORD untuk mengakses kode kesalahan Win32.

Nilai kembali

Layanan mengabaikan kode pengembalian yang Anda kembalikan.

Keterangan

Panggilan balik ini akan memblokir peristiwa lain agar tidak dikirimkan ke panggilan balik Anda, jadi jaga implementasi Anda sesingkat mungkin.

Jika layanan mengalami kesalahan saat menyiapkan langganan, panggilan balik Anda tidak akan menerima pemberitahuan bahwa terjadi kesalahan.

Jika parameter BenderaEvtSubscribe menyertakan EvtSubscribeStrict, panggilan balik Anda akan menerima pemberitahuan saat rekaman peristiwa hilang. Dalam hal ini, nilai Peristiwa akan ERROR_EVT_QUERY_RESULT_STALE.

Untuk membatalkan langganan, Anda harus menutup handel langganan yang dikembalikan fungsi EvtSubscribe .

Contoh

Untuk contoh yang mengimplementasikan fungsi panggilan balik EVT_SUBSCRIBE_CALLBACK , lihat Berlangganan Peristiwa.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header winevt.h

Lihat juga

EvtSubscribe