KeReleaseSpinLock macro (wdm.h)
The KeReleaseSpinLock routine releases a spin lock and restores the original IRQL at which the caller was running.
VOID
KeReleaseSpinLock (
_Inout_ PKSPIN_LOCK SpinLock,
_In_ _IRQL_restores_ KIRQL NewIrql
);
[in] SpinLock
Pointer to a KSPIN_LOCK spin lock for which the caller provides the storage.
[in, out] NewIrql
Specifies the KIRQL value saved from the preceding call to KeAcquireSpinLock.
None
This call is a reciprocal to KeAcquireSpinLock. The input NewIrql value must be the OldIrql returned by KeAcquireSpinLock.
For more information about spin locks, see Spin Locks.
Callers of this routine are running at IRQL = DISPATCH_LEVEL. On return from KeReleaseSpinLock, IRQL is restored to the NewIrql value.
Requirement | Value |
---|---|
Minimum supported client | Available starting with Windows 2000. |
Target Platform | Universal |
Header | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Library | Hal.lib |
IRQL | DISPATCH_LEVEL (see Remarks section) |
DDI compliance rules | HwStorPortProhibitedDDIs(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) |