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) |