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


макрос NDIS_RELEASE_MUTEX (ndis.h)

Макрос NDIS_RELEASE_MUTEX освобождает указанный объект мьютекса.

Синтаксис

void NDIS_RELEASE_MUTEX(
   _M_
);

Параметры

_M_

Указатель на инициализированный объект мьютекса NDIS_MUTEX типа. Вызывающий объект инициализировал объект мьютекса перед вызовом макроса NDIS_INIT_MUTEX. NDIS_MUTEX — это оболочка для типа KMUTEX.

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

NDIS_RELEASE_MUTEX возвращает значение LONG. Если возвращаемое значение равно нулю, объект мьютекса был освобожден и находится в сигнальном состоянии. Если NDIS_RELEASE_MUTEX возвращает ненулевое значение, мьютекс не находится в сигнальном состоянии.

Замечания

Сетевые драйверы NDIS должны использовать макрос NDIS_RELEASE_MUTEX для освобождения мьютекса.

Только поток, который в настоящее время содержит объект мьютекса, может освободить его. В противном случае возникает ошибка. Ошибка также возникает, если драйвер пытается освободить объект мьютекса, который находится в сигнальном состоянии.

Чтобы получить мьютекс, вызовите макрос NDIS_WAIT_FOR_MUTEX. Если мьютекс приобретается рекурсивно, поток хранения должен вызывать NDIS_RELEASE_MUTEX то же количество раз, когда он приобрел мьютекс, чтобы установить его обратно в сигнальное состояние.

NDIS_RELEASE_MUTEX — это оболочка NDIS для подпрограммы KeReleaseMu tex.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Поддерживается в NDIS 6.0 и более поздних версиях.
целевая платформа Всеобщий
заголовка ndis.h
IRQL PASSIVE_LEVEL
правил соответствия DDI Irql_Synch_Function(ndis)

См. также

KeReleaseMutex

NDIS_INIT_MUTEX

NDIS_WAIT_FOR_MUTEX