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


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

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

Синтаксис

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

Параметры

[in, out] SpinLock

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

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

Никакой

Замечания

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

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

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

Требования

Требование Ценность
целевая платформа Всеобщий
заголовка wdm.h (включите Wdm.h, Ntddk.h, Ntifs.h)
библиотеки NtosKrnl.lib
Библиотека dll NtosKrnl.exe
IRQL DISPATCH_LEVEL
правил соответствия DDI HwStorPortProhibitedDIs(storport), IrqlDispatch(storport), SpinLockSafe(storport)

См. также

KeAcquireInStackQueuedSpinLockAtDpcLevel

KeAcquireSpinLock

KeAcquireSpinLockAtDpcLevel

KefReleaseSpinLockFromDpcLevel

KeInitializeSpinLock

KeReleaseSpinLock

KeTryToAcquireSpinLockAtDpcLevel

Замки спина