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


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

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

Синтаксис

void NdisReleaseSpinLock(
  [in]  _SpinLock
);

Параметры

[in] _SpinLock

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

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

Никакой

Замечания

Драйвер должен инициализировать блокировку спина с помощью 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 (include 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