Fungsi KsDisableEvent (ks.h)
Fungsi KsDisableEvent menonaktifkan peristiwa yang diminta melalui IOCTL_KS_DISABLE_EVENT. Ini merespons semua peristiwa yang sebelumnya diaktifkan melalui KsEnableEvent. Jika panjang buffer input adalah nol, diasumsikan bahwa semua peristiwa dalam daftar akan dinonaktifkan. Fungsi ini hanya dapat dipanggil pada PASSIVE_LEVEL.
Sintaks
KSDDKAPI NTSTATUS KsDisableEvent(
[in] PIRP Irp,
[in, out] PLIST_ENTRY EventsList,
[in] KSEVENTS_LOCKTYPE EventsFlags,
[in] PVOID EventsLock
);
Parameter
[in] Irp
Menentukan IRP yang diteruskan ke fungsi penghapusan, yang menggunakan IRP untuk mendapatkan informasi konteks. Objek file yang terkait dengan IRP digunakan untuk membandingkan dengan objek file yang awalnya ditentukan saat mengaktifkan peristiwa. Ini memungkinkan satu daftar peristiwa digunakan untuk beberapa klien yang dibensiasi oleh objek file.
[in, out] EventsList
Menunjuk ke kepala daftar item KSEVENT_ENTRY tempat peristiwa dapat ditemukan. Jika klien menggunakan beberapa daftar peristiwa dan tidak tahu daftar peristiwa ini, klien dapat memanggil fungsi ini beberapa kali. Kejadian yang tidak ditemukan akan mengembalikan STATUS_UNSUCCESSFUL.
[in] EventsFlags
Menentukan bendera KSEVENTS_LOCKTYPE yang menentukan jenis kunci pengecualian yang akan digunakan dalam mengakses daftar peristiwa. Jika tidak ada bendera yang diatur, maka tidak ada kunci yang diambil.
[in] EventsLock
Digunakan untuk menyinkronkan akses ke elemen dalam daftar. Setelah elemen diakses, elemen ditandai sebagai dihapus sehingga permintaan penghapusan berikutnya gagal. Kunci kemudian dilepaskan setelah memanggil fungsi penghapusan, jika ada. Fungsi penghapusan harus disinkronkan dengan pembuatan peristiwa sebelum benar-benar menghapus elemen dari daftar.
Nilai kembali
Fungsi KsDisableEvent mengembalikan STATUS_SUCCESS jika berhasil, atau kesalahan khusus untuk peristiwa yang diaktifkan. Fungsi ini selalu mengatur IO_STATUS_BLOCK. Bidang informasi PIRP. Elemen IoStatus dalam IRP ke nol. Ini tidak mengatur IO_STATUS_BLOCK. Bidang status, juga tidak menyelesaikan IRP.
Keterangan
Penting bahwa handler hapus disinkronkan dengan pembuatan peristiwa untuk memastikan bahwa ketika peristiwa dihapus dari daftar, saat ini tidak sedang diservis. Akses ke daftar ini diasumsikan dikontrol dengan kunci yang diteruskan.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Header | ks.h (termasuk Ks.h) |
Pustaka | Ks.lib |