KeReleaseSpinLock 宏 (wdm.h)
KeReleaseSpinLock 例程会释放一个旋转锁,并还原运行调用方的原始 IRQL。
语法
VOID
KeReleaseSpinLock (
_Inout_ PKSPIN_LOCK SpinLock,
_In_ _IRQL_restores_ KIRQL NewIrql
);
参数
[in] SpinLock
指向调用方为其提供存储的KSPIN_LOCK旋转锁的指针。
[in, out] NewIrql
指定从前面调用 KeAcquireSpinLock 中保存的 KIRQL 值。
返回值
无
备注
此调用是对 KeAcquireSpinLock 的相互调用。 输入 NewIrql 值必须是 KeAcquireSpinLock 返回的 OldIrql。
有关旋转锁的详细信息,请参阅旋转锁。
此例程的调用方在 IRQL = DISPATCH_LEVEL 运行。 从 KeReleaseSpinLock 返回时,IRQL 将还原到 NewIrql 值。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从 Windows 2000 开始可用。 |
目标平台 | 通用 |
标头 | wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h) |
Library | Hal.lib |
IRQL | DISPATCH_LEVEL (请参阅备注部分) |
DDI 符合性规则 | HwStorPortProhibitedDDI (storport) 、 IrqlKeReleaseSpinLock (storport) 、 IrqlKeReleaseSpinLock (storport) , IrqlKeReleaseSpinLock (wdm) 、 MarkingQueuedIrps (wdm) 、 ReqSendWhileSpinlock (kmdf) 、 Spinlock (kmdf) 、 Spinlock (kmdf) , SpinLock (storport) 、SpinLock (storport) 、 SpinLock (wdm) 、 SpinlockDpc (kmdf) 、SpinlockDpc (kmdf) 、 SpinLockDpc (storport) 、SpinLockDpc (storport) 、 SpinLockDpc (wdm) 、 SpinlockRelease (kmdf) 、SpinlockRelease (kmdf) , SpinLockRelease (storport) 、SpinLockRelease (storport) 、 SpinlockRelease (wdm) 、 SpinLockSafe (storport) 、SpinLockSafe (storport) 、 SpinLockSafe (wdm) |