Previous Next

KeReleaseSpinLockFromDpcLevel

The KeReleaseSpinLockFromDpcLevel routine releases an executive spin lock.

VOID 
  KeReleaseSpinLockFromDpcLevel(
    IN PKSPIN_LOCK  SpinLock
    );

Parameters

SpinLock
Pointer to an executive spin lock for which the caller provides the storage.

Return Value

None

Headers

Declared in wdm.h and ntddk.h. Include wdm.h or ntddk.h.

Comments

Drivers call KeReleaseSpinLockFromDpcLevel to release a spin lock acquired by calling KeAcquireSpinLockAtDpcLevel.

It is an error to call KeReleaseSpinLockFromDpcLevel if the given spin lock was acquired by calling KeAcquireSpinLock because the caller’s original IRQL is not restored, which can cause deadlocks or fatal page faults.

Callers of KeReleaseSpinLockAtDpcLevel must be running at IRQL = DISPATCH_LEVEL.

See Also

KeAcquireSpinLock, KeAcquireSpinLockAtDpcLevel, KeReleaseSpinLock