ExAcquireSpinLockExclusiveAtDpcLevel function (wdm.h)
The ExAcquireSpinLockExclusiveAtDpcLevel routine acquires a spin lock for exclusive access by a caller that is already running at IRQL >= DISPATCH_LEVEL.
void ExAcquireSpinLockExclusiveAtDpcLevel(
[in, out] PEX_SPIN_LOCK SpinLock
);
[in, out] SpinLock
A pointer to the spin lock to acquire. The caller must not already own this spin lock.
None
On entry to this routine, the caller must be running at IRQL >= DISPATCH_LEVEL. This routine does not change the IRQL.
To release the spin lock, the driver calls the ExReleaseSpinLockExclusiveFromDpcLevel routine.
A spin lock is a 32-bit variable of type EX_SPIN_LOCK. The driver must allocate the storage for the spin lock and initialize the spin lock to zero. This storage must be located in nonpaged system-space memory.
The caller should hold the spin lock only briefly before releasing it. For more information, see Introduction to Spin Locks.
Recursive acquisition of a spin lock causes deadlock and is not allowed.
Requirement | Value |
---|---|
Header | wdm.h |
IRQL | IRQL >= DISPATCH_LEVEL |