IoAcquireCancelSpinLock 函式 (wdm.h)
IoAcquireCancelSpinLock 例程會以多重處理器安全的方式同步處理 IRP 的可取消狀態轉換。
語法
void IoAcquireCancelSpinLock(
PKIRQL Irql
);
參數
Irql
[out]要在其中儲存目前 IRQL 的變數指標,以便後續呼叫 IoReleaseCancelSpinLock。 通常,Irql 會儲存在堆疊上作為局部變數。
傳回值
無
備註
每當使用 IoSetCancelRoutine變更 IRP 的可取消狀態時,使用裝置物件中 I/O 管理員提供的裝置佇列的驅動程式必須保留取消微調鎖定。
管理自己的 IRP 佇列的驅動程式不需要在呼叫 IoSetCancelRoutine 時保留取消微調鎖定。
取消微調鎖定的持有者應該藉由呼叫 IoReleaseCancelSpinLock 來立即釋放它。
系統會呼叫驅動程式提供的 Cancel 例程,並保留取消微調鎖定。 它必須在完成要取消的 IRP 時釋放取消微調鎖定。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 |
標頭 | wdm.h |
IRQL | <=DISPATCH_LEVEL |
DDI 合規性規則 | CancelSpinLock (storport) 、 CancelSpinLock (wdm ) 、 CancelSpinlockRelease (wdm ) 、 HwStorPortProhibitedDDIs (storport ) 、 SpinLockSafe (storport ) 、 SpinLockSafe (wdm) |