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


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

Подпрограмма KeReleaseSpinLock освобождает спин-блокировку и восстанавливает исходный IRQL, на котором выполнялся вызывающий объект.

Синтаксис

VOID
KeReleaseSpinLock (
    _Inout_ PKSPIN_LOCK SpinLock,
    _In_ _IRQL_restores_ KIRQL NewIrql
    );

Параметры

[in] SpinLock

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

[in, out] NewIrql

Указывает значение KIRQL, сохраненное при предыдущем вызове KeAcquireSpinLock.

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

None

Remarks

Этот вызов является обратным к KeAcquireSpinLock. Входное значение NewIrql должно быть значением OldIrql , возвращенным KeAcquireSpinLock.

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

Вызывающие абоненты этой подпрограммы выполняются в IRQL = DISPATCH_LEVEL. При возвращении из KeReleaseSpinLock IRQL восстанавливается до значения NewIrql .

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 2000.
Целевая платформа Универсальное
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h)
Библиотека Hal.lib
IRQL DISPATCH_LEVEL (см. раздел "Примечания")
Правила соответствия DDI HwStorPortProhibitedDDIs(storport), IrqlKeReleaseSpinLock(storport), IrqlKeReleaseSpinLock(storport), IrqlKeReleaseSpinLock(wdm), MarkingQueuedIrps(wdm), ReqSendWhileSpinlock(kmdf), Spinlock(kmdf), Spinlock(kmdf), SpinLock(storport), SpinLock(storport), SpinLock(wdm), SpinlockDpc(kmdf), SpinlockDpc(kmdf), SpinLockDpc(storport), SpinLockDpc(storport), SpinLockDpc(wdm) , SpinlockRelease(kmdf), SpinlockRelease(kmdf), SpinLockRelease(storport), SpinLockRelease(storport), SpinlockRelease(wdm), SpinLockSafe(storport), SpinLockSafe(storport), SpinLockSafe(wdm)

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

KeAcquireSpinLock

KeInitializeSpinLock