Макрос 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) |