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