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

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

Синтаксис

KIRQL KeAcquireSpinLockForDpc(
  PKSPIN_LOCK SpinLock
);

Параметры

SpinLock

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

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

KeAcquireSpinLockForDpc возвращает текущий код IRQL на момент вызова подпрограммы. Передайте это значение в KeReleaseSpinLockForDpc при освобождении блокировки спина.

Комментарии

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

Вызовите KeReleaseSpinLockForDpc , чтобы освободить спиновую блокировку, полученную KeAcquireSpinLockForDpc. Передайте возвращаемое значение из KeAcquireSpinLockForDpc в KeReleaseSpinLockForDpc.

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

Требования

Требование Значение
Минимальная версия клиента Windows Vista
Верхняя часть wdm.h
Правила соответствия DDI HwStorPortProhibitedDIs(storport)

См. также раздел

CustomThreadedDpc

KeInitializeSpinLock

KeReleaseSpinLockForDpc