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


Макрос KeReleaseSpinLockFromDpcLevel (wdm.h)

Подпрограмма KeReleaseSpinLockFromDpcLevel освобождает исполнительный спин-блокировку без изменения IRQL.

Синтаксис

void KeReleaseSpinLockFromDpcLevel(
  [in, out] PKSPIN_LOCK SpinLock
);

Параметры

[in, out] SpinLock

Указатель на исполнительный KSPIN_LOCK спин-блокировку, для которой вызывающий объект предоставляет хранилище.

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

None

Remarks

Драйверы вызывают KeReleaseSpinLockFromDpcLevel , чтобы освободить спиновую блокировку, полученную путем вызова KeAcquireSpinLockAtDpcLevel.

Вызов KeReleaseSpinLockFromDpcLevel является ошибкой, если указанная блокировка спина была получена путем вызова KeAcquireSpinLock , так как исходный IRQL вызывающего объекта не восстанавливается, что может привести к взаимоблокировкам или неустранимым сбоям страницы.

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

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 2000.
Целевая платформа Универсальное
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL DISPATCH_LEVEL
Правила соответствия DDI HwStorPortProhibitedDIs(storport), IrqlDispatch(storport), SpinLockSafe(storport)

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

KeAcquireSpinLock

KeAcquireSpinLockAtDpcLevel

KeReleaseSpinLock