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

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

Синтаксис

void KeAcquireInStackQueuedSpinLockForDpc(
  PKSPIN_LOCK         SpinLock,
  PKLOCK_QUEUE_HANDLE LockHandle
);

Параметры

SpinLock

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

LockHandle

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

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

None

Remarks

Подпрограмма 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