Поделиться через


Функция KeAcquireInStackQueuedSpinLockForDpc (wdm.h)

Подпрограмма KeAcquireInStackQueuedSpinLockForDpc получает очередь блокировки спина для потокового DPC.

Синтаксис

void KeAcquireInStackQueuedSpinLockForDpc(
  PKSPIN_LOCK         SpinLock,
  PKLOCK_QUEUE_HANDLE LockHandle
);

Параметры

SpinLock

[in, out] Указатель на блокировку спина для получения в виде очереди спин-блокировки. Необходимо инициализировать блокировку спина, вызвав KeInitializeSpinLock.

LockHandle

[out] Указатель на структуру KLOCK_QUEUE_HANDLE, которая получает дескриптор очереди блокировки. Передайте это значение в KeReleaseInStackQueuedSpinLockForDpc подпрограмму при выпуске блокировки спина в очереди.

Возвращаемое значение

Никакой

Замечания

Подпрограмма CustomThreadedDpc может использовать KeAcquireInStackQueuedSpinLockForDpc для получения блокировки спина в очереди. Если CustomThreadedDpc выполняется в IRQL = PASSIVE_LEVEL, KeAcquireInStackQueuedSpinLockForDpc вызывает текущее значение IRQL до DISPATCH_LEVEL. Если CustomThreadedDpc уже выполняется в IRQL = DISPATCH_LEVEL, KeAcquireInStackQueuedSpinLockForDpc не изменяет текущий IRQL.

Дополнительные сведения о блокировках спина в очереди см. в разделе очереди спин-блокировок.

Вызовите KeReleaseInStackQueuedSpinLockForDpc, чтобы освободить блокировку спина, которая KeAcquireInStackQueuedSpinLockForDpc.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows Vista
заголовка wdm.h
правил соответствия DDI HwStorPortProhibitedDIs(storport)

См. также

CustomThreadedDpc

KLOCK_QUEUE_HANDLE

KeInitializeSpinLock

KeReleaseInStackQueuedSpinLockForDpc