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)

另請參閱

IoReleaseCancelSpinLock

IoSetCancelRoutine