Partilhar via


NDIS_RELEASE_MUTEX macro (ndis.h)

A macro NDIS_RELEASE_MUTEX libera o objeto mutex especificado.

Sintaxe

void NDIS_RELEASE_MUTEX(
   _M_
);

Parâmetros

_M_

Um ponteiro para um objeto mutex do tipo NDIS_MUTEX inicializado. O chamador inicializou o objeto mutex em uma chamada anterior à macro NDIS_INIT_MUTEX. NDIS_MUTEX é um wrapper para o tipo KMUTEX.

Valor de retorno

NDIS_RELEASE_MUTEX retorna um valor LONG. Se o valor retornado for zero, o objeto mutex foi liberado e está no estado sinalizado. Se NDIS_RELEASE_MUTEX retornar um valor diferente de zero, o mutex não estará no estado sinalizado.

Observações

Os drivers de rede do NDIS devem usar a macro NDIS_RELEASE_MUTEX para liberar um mutex.

Somente o thread que está segurando o objeto mutex pode liberá-lo. Caso contrário, ocorrerá uma verificação de bug. Uma verificação de bug também ocorre se um driver tenta liberar um objeto mutex que está no estado sinalizado.

Para adquirir o mutex, chame a macro NDIS_WAIT_FOR_MUTEX. Se um mutex for adquirido recursivamente, o thread de retenção deverá chamar NDIS_RELEASE_MUTEX o mesmo número de vezes que adquiriu o mutex para defini-lo de volta para o estado sinalizado.

NDIS_RELEASE_MUTEX é um wrapper NDIS para a rotina deKeReleaseMutex.

Requisitos

Requisito Valor
de cliente com suporte mínimo Com suporte no NDIS 6.0 e posterior.
da Plataforma de Destino Universal
cabeçalho ndis.h
IRQL PASSIVE_LEVEL
regras de conformidade de DDI Irql_Synch_Function(ndis)

Consulte também

KeReleaseMutex

NDIS_INIT_MUTEX

NDIS_WAIT_FOR_MUTEX