Compartir a través de


macro NDIS_RELEASE_MUTEX (ndis.h)

La macro NDIS_RELEASE_MUTEX libera el objeto de exclusión mutua especificado.

Sintaxis

void NDIS_RELEASE_MUTEX(
   _M_
);

Parámetros

_M_

Puntero a un objeto de exclusión mutua de tipo NDIS_MUTEX inicializado. El autor de la llamada inicializó el objeto de exclusión mutua en una llamada anterior a la macro NDIS_INIT_MUTEX. NDIS_MUTEX es un contenedor para el tipo KMUTEX.

Valor devuelto

NDIS_RELEASE_MUTEX devuelve un valor LONG. Si el valor devuelto es cero, se liberó el objeto de exclusión mutua y se encuentra en estado señalado. Si NDIS_RELEASE_MUTEX devuelve un valor distinto de cero, la exclusión mutua no está en estado señalado.

Observaciones

Los controladores de red NDIS deben usar la macro NDIS_RELEASE_MUTEX para liberar una exclusión mutua.

Solo el subproceso que contiene actualmente el objeto de exclusión mutua puede liberarlo. De lo contrario, se produce una comprobación de errores. También se produce una comprobación de errores si un controlador intenta liberar un objeto de exclusión mutua que está en estado señalado.

Para adquirir la exclusión mutua, llame a la macro NDIS_WAIT_FOR_MUTEX. Si se adquiere una exclusión mutua de forma recursiva, el subproceso de retención debe llamar a NDIS_RELEASE_MUTEX el mismo número de veces que adquirió la exclusión mutua para volver a establecerla en el estado señalado.

NDIS_RELEASE_MUTEX es un contenedor NDIS para la rutina deKeReleaseMutex.

Requisitos

Requisito Valor
cliente mínimo admitido Se admite en NDIS 6.0 y versiones posteriores.
de la plataforma de destino de Universal
encabezado de ndis.h
irQL PASSIVE_LEVEL
reglas de cumplimiento de DDI Irql_Synch_Function(ndis)

Consulte también

keReleaseMutex

NDIS_INIT_MUTEX

NDIS_WAIT_FOR_MUTEX