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