IoAcquireCancelSpinLock 函数 (wdm.h)

IoAcquireCancelSpinLock 例程以多处理器安全的方式同步 IRP 的可取消状态转换。

语法

void IoAcquireCancelSpinLock(
  PKIRQL Irql
);

参数

Irql

[out]指向用于保存当前 IRQL 的变量的指针,以便后续调用 IoReleaseCancelSpinLock。 通常,Irql 作为局部变量保存在堆栈上。

返回值

没有

言论

使用设备对象中 I/O 管理器提供的设备队列的驱动程序必须在更改具有 IoSetCancelRoutine的 IRP 的可取消状态时保留取消旋转锁。

管理其自己的 IRP 队列的驱动程序在调用 ioSetCancelRoutine时不需要保留取消旋转锁。

取消旋转锁的持有者应通过调用 IoReleaseCancelSpinLock来及时释放它。

调用驱动程序提供的 取消 例程,并按住取消旋转锁。 它必须在完成要取消的 IRP 后释放取消旋转锁。

要求

要求 价值
最低支持的客户端 Windows 2000
标头 wdm.h
IRQL <=DISPATCH_LEVEL
DDI 符合性规则 CancelSpinLock(storport)CancelSpinLock(wdm)CancelSpinlockRelease(wdm)HwStorPortProhibitedDDI(storport)SpinLockSafe(storport)SpinLockSafe(wdm)

另请参阅

IoReleaseCancelSpinLock

IoSetCancelRoutine