KeReleaseSpinLockFromDpcLevel macro (wdm.h)

The KeReleaseSpinLockFromDpcLevel routine releases an executive spin lock without changing the IRQL.

Syntax

void KeReleaseSpinLockFromDpcLevel(
  [in, out] PKSPIN_LOCK SpinLock
);

Parameters

[in, out] SpinLock

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

Return value

None

Remarks

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

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

For more information about spin locks, see Spin Locks.

Requirements

Requirement Value
Minimum supported client Available starting with Windows 2000.
Target Platform Universal
Header wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL DISPATCH_LEVEL
DDI compliance rules HwStorPortProhibitedDDIs(storport), IrqlDispatch(storport), SpinLockSafe(storport)

See also

KeAcquireSpinLock

KeAcquireSpinLockAtDpcLevel

KeReleaseSpinLock