Bagikan melalui


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

Lihat juga

KsAddIrpToCancelableQueue