Export (0) Print
Expand All
Expand Minimize

KeAcquireInStackQueuedSpinLockForDpc routine

The KeAcquireInStackQueuedSpinLockForDpc routine acquires a queued spin lock for a threaded DPC.

Syntax


VOID KeAcquireInStackQueuedSpinLockForDpc(
  _Inout_  PKSPIN_LOCK SpinLock,
  _Out_    PKLOCK_QUEUE_HANDLE LockHandle
);

Parameters

SpinLock [in, out]

Pointer to the spin lock to acquire as a queued spin lock. You must have already initialized the spin lock by calling KeInitializeSpinLock.

LockHandle [out]

Pointer to a KLOCK_QUEUE_HANDLE structure that receives the lock queue handle. Pass this value to the KeReleaseInStackQueuedSpinLockForDpc routine when you release the queued spin lock.

Return value

None.

Remarks

A CustomThreadedDpc routine can use KeAcquireInStackQueuedSpinLockForDpc to acquire a queued spin lock. If CustomThreadedDpc is executing at IRQL = PASSIVE_LEVEL, KeAcquireInStackQueuedSpinLockForDpc raises the current IRQL to DISPATCH_LEVEL. If CustomThreadedDpc is already executing at IRQL = DISPATCH_LEVEL, KeAcquireInStackQueuedSpinLockForDpc does not change the current IRQL.

For more information about queued spin locks, see Queued Spin Locks.

Call KeReleaseInStackQueuedSpinLockForDpc to release the spin lock that KeAcquireInStackQueuedSpinLockForDpc acquired.

Requirements

Version

Available starting with Windows Vista.

Header

Wdm.h (include Wdm.h, Ntddk.h, or Ntifs.h)

Library

Ntoskrnl.lib

IRQL

See Remarks section.

DDI compliance rules

HwStorPortProhibitedDDIs

See also

CustomThreadedDpc
KLOCK_QUEUE_HANDLE
KeInitializeSpinLock
KeReleaseInStackQueuedSpinLockForDpc

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft