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.
Sintaks
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.
Nilai kembali
Tidak ada
Keterangan
KsCancelIo membatalkan semua RUN dalam antrean yang dikelola driver tertentu. Jika IRP memiliki rutinitas pembatalan, rutinitas pembatalan akan dipanggil. Jika tidak, bendera pembatalan di IRP diatur ke TRUE. RUNP tidak dihapus dari antrean oleh rutinitas ini. Merupakan tanggung jawab tunggal driver untuk memastikan bahwa RUNP 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 batal dapat diperoleh dari IRP dengan memanggil KSQUEUE_SPINLOCK_IRP_STORAGE.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Header | ks.h (termasuk Ks.h) |
Pustaka | Ks.lib |
IRQL | < DISPATCH_LEVEL |