Функция 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) |