Fungsi IoAcquireCancelSpinLock (wdm.h)

Rutinitas IoAcquireCancelSpinLock menyinkronkan transisi status yang dapat dibatalkan untuk IRP dengan cara multiprosesor aman.

Sintaks

void IoAcquireCancelSpinLock(
  PKIRQL Irql
);

Parameter

Irql

[keluar] Arahkan ke variabel untuk menyimpan IRQL saat ini untuk panggilan berikutnya ke IoReleaseCancelSpinLock. Biasanya, Irql disimpan di tumpukan sebagai variabel lokal.

Nilai kembali

Tidak ada

Keterangan

Driver yang menggunakan antrean perangkat yang disediakan manajer I/O di objek perangkat harus memegang kunci spin pembatalan setiap kali mengubah status IRP yang dapat dibatalkan dengan IoSetCancelRoutine.

Driver yang mengelola antrean IRP sendiri tidak perlu menahan kunci putar batal saat memanggil IoSetCancelRoutine.

Pemegang kunci putar batal harus segera melepaskannya dengan memanggil IoReleaseCancelSpinLock.

Rutinitas Batal yang disediakan pengemudi dipanggil dengan kunci putar batal ditahan. Ini harus melepaskan kunci putar batal ketika telah menyelesaikan IRP untuk dibatalkan.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000
Header wdm.h
IRQL <=DISPATCH_LEVEL
Aturan kepatuhan DDI CancelSpinLock(storport), CancelSpinLock(wdm), CancelSpinlockRelease(wdm), HwStorPortProhibitedDDIs(storport), SpinLockSafe(storport), SpinLockSafe(wdm)

Lihat juga

IoReleaseCancelSpinLock

IoSetCancelRoutine