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

Lihat juga

KsAddIrpToCancelableQueue