Макрос NdisReleaseSpinLock (ndis.h)

Функция NdisReleaseSpinLock освобождает спин-блокировку, полученную в предыдущем вызове функции NdisAcquireSpinLock .

Синтаксис

void NdisReleaseSpinLock(
  [in]  _SpinLock
);

Параметры

[in] _SpinLock

Указатель на полученную блокировку спина для освобождения.

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

None

Remarks

Драйвер должен инициализировать свою спин-блокировку с помощью NdisAllocateSpinLock , прежде чем вызывать любой другой Ndis.. Функция SpinLock для доступа к ресурсам, защищенным этой блокировкой спина.

Драйвер должен вызвать NdisAcquireSpinLock , чтобы получить спиновую блокировку, прежде чем он сможет вызвать NdisReleaseSpinLock. Каждый вызов NdisAcquireSpinLock требует обратного вызова NdisReleaseSpinLock , прежде чем драйвер сможет снова вызвать NdisAcquireSpinLock .

NdisReleaseSpinLock восстанавливает исходный IRQL, на котором его вызывающий объект выполнялся перед вызовом NdisAcquireSpinLock.

Любая спиновая блокировка, полученная с помощью NdisAcquireSpinLock , должна быть освобождена с помощью NdisReleaseSpinLock. Любая спиновая блокировка, полученная с помощью NdisDprAcquireSpinLock , должна быть освобождена с помощью NdisDprReleaseSpinLock.

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

Требования

Требование Значение
Минимальная версия клиента Поддерживается для драйверов NDIS 6.0 и NDIS 5.1 (см. раздел NdisReleaseSpinLock (NDIS 5.1)) в Windows Vista. Поддерживается для драйверов NDIS 5.1 (см. раздел NdisReleaseSpinLock (NDIS 5.1)) в Windows XP.
Целевая платформа Универсальное
Верхняя часть ndis.h (включая Ndis.h)
Библиотека Ndis.lib
IRQL DISPATCH_LEVEL
Правила соответствия DDI Irql_Synch_Function(ndis), SpinLock(ndis), SpinLockBalanced(ndis), SpinLockDpr(ndis), SpinLockDprRelease(ndis), SpinlockRelease(ndis)

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

NdisAcquireSpinLock

NdisAllocateSpinLock

NdisDprAcquireSpinLock