Fungsi KsCancelIo (ks.h)
Fungsi KsCancelIo membatalkan semua RUN pada daftar pembatalan yang ditentukan. Jika IRP pada daftar tidak memiliki rutinitas pembatalan, hanya bit pembatalan yang diatur dalam IRP. Fungsi ini dapat dipanggil pada tingkat IRQ DISPATCH_LEVEL atau lebih rendah.
Sintaksis
KSDDKAPI VOID KsCancelIo(
[in, out] PLIST_ENTRY QueueHead,
[in] PKSPIN_LOCK SpinLock
);
Parameter
[in, out] QueueHead
Menentukan kepala antrean yang dikelola driver yang berisi IRP yang akan dibatalkan.
[in] SpinLock
Menunjuk ke kunci putar yang dialokasikan penelepon untuk akses antrean. Salinan pointer ini disimpan di KSQUEUE_SPINLOCK_IRP_STORAGE(Irp) IRP untuk digunakan oleh rutinitas pembatalan, jika perlu.
Mengembalikan nilai
Tidak
Komentar
KsCancelIo membatalkan semua RUN dalam antrean yang dikelola driver tertentu. Jika IRP memiliki rutinitas pembatalan, rutinitas pembatalan akan dipanggil. Jika tidak, bendera pembatalan dalam IRP diatur ke TRUE. RUN tidak dihapus dari antrean oleh rutinitas ini. Ini adalah tanggung jawab tunggal driver untuk memastikan bahwa RUN dihapus baik oleh rutinitas pembatalan yang ditentukan dalam IRP atau oleh beberapa fungsionalitas lain yang disediakan driver.
Jika IRP yang dibatalkan memiliki rutinitas pembatalan yang disediakan pengemudi, kunci putar pembatalan dapat diperoleh dari IRP dengan memanggil KSQUEUE_SPINLOCK_IRP_STORAGE.
Persyaratan
Syarat | Nilai |
---|---|
Platform Target | Universal |
Header | ks.h (termasuk Ks.h) |
Pustaka | Ks.lib |
IRQL | < DISPATCH_LEVEL |