Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The KeReleaseSpinLock routine releases a spin lock and restores the original IRQL at which the caller was running.
Syntax
void KeReleaseSpinLock(
PKSPIN_LOCK SpinLock,
KIRQL NewIrql
);
Parameters
SpinLock
Pointer to a KSPIN_LOCK spin lock for which the caller provides the storage.
NewIrql
Specifies the KIRQL value saved from the preceding call to KeAcquireSpinLock.
Return value
None
Remarks
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.
Requirements
Requirement | Value |
---|---|
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) |