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

Lihat juga

KsEnableEvent