Fungsi EvtCancel (winevt.h)
Membatalkan semua operasi yang tertunda pada handel.
Sintaks
BOOL EvtCancel(
EVT_HANDLE Object
);
Parameter
Object
Handel yang operasinya ingin Anda batalkan. Anda dapat membatalkan operasi berikut:
Untuk membatalkan operasi EvtClearLog, EvtExportLog, EvtQuery, dan EvtSubscribe , Anda harus melewati handel sesi. Untuk menentukan sesi default (sesi lokal), atur parameter ini ke NULL.Mengembalikan nilai
Mengembalikan kode/nilai | Deskripsi |
---|---|
|
Fungsi berhasil. |
|
Fungsi gagal. Untuk mendapatkan kode kesalahan, panggil fungsi GetLastError . |
Keterangan
Gunakan fungsi ini untuk membatalkan operasi yang berjalan lama. Misalnya, memanggil fungsi EvtNext secara teoritis dapat memakan waktu lama karena pemfilteran ribuan rekaman peristiwa. Memanggil EvtCancel akan menghentikan fungsi EvtNext memproses rekaman peristiwa lebih lanjut. Perhatikan bahwa fungsi mungkin tidak dapat segera menghentikan operasi.
Anda harus memanggil fungsi EvtClose untuk menutup handel setelah selesai.
Prosedur berikut menjelaskan cara membatalkan operasi yang berjalan lama.
Untuk membatalkan operasi jangka panjang
- Utas A memanggil operasi yang berjalan lama (misalnya, fungsi EvtSeek ).
- Utas B ingin membatalkan dan menutup semua operasi, jadi utas B memanggil fungsi EvtCancel .
- Utas B kemudian menunggu semua panggilan yang tertunda selesai (dengan menyinkronkan dengan utas A). Karena fungsi EvtCancel dipanggil, utas A harus selesai segera setelah panggilan ke EvtCancel dibuat.
- Setelah utas A sepenuhnya menyelesaikan operasi (EvtSeek), utas B dapat menutup handel hasil kueri menggunakan fungsi EvtClose .
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 |
Pustaka | Wevtapi.lib |
DLL | Wevtapi.dll |