макрос 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 для подпрограммы KeReleaseMutex .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 6.0 и более поздних версиях. |
Целевая платформа | Универсальное |
Верхняя часть | ndis.h |
IRQL | PASSIVE_LEVEL |
Правила соответствия DDI | Irql_Synch_Function(ndis) |