Función NdisReleaseRWLock (ndis.h)

La función NdisReleaseRWLock libera un bloqueo de lectura y escritura que el autor de la llamada usa para obtener acceso a los recursos que se comparten entre subprocesos de controlador.

Sintaxis

void NdisReleaseRWLock(
  [in] PNDIS_RW_LOCK_EX Lock,
  [in] PLOCK_STATE_EX   LockState
);

Parámetros

[in] Lock

Puntero a una variable de NDIS_RW_LOCK_EX opaca que representa un bloqueo. El autor de la llamada puede usar este bloqueo para obtener acceso de escritura o lectura a los recursos que se comparten entre subprocesos de controladores que no son ISR.

[in] LockState

Puntero a una variable de LOCK_STATE_EX opaca que realiza un seguimiento del estado del bloqueo. Esta variable existe en el intervalo entre las veces que el autor de la llamada obtiene y libera el bloqueo. El autor de la llamada debe usar una variable diferente de tipo LOCK_STATE_EX para cada intento que realice para obtener el bloqueo del mismo subproceso de controlador que no es ISR.

Valor devuelto

None

Observaciones

Los controladores NDIS llaman a la función NdisReleaseRWLock para liberar un bloqueo de lectura y escritura obtenido anteriormente mediante una llamada a
NdisAcquireRWLockRead o Función NdisAcquireRWLockWrite .

Un controlador debe obtener un bloqueo de lectura y escritura para que el controlador pueda llamar a NdisReleaseRWLock. Cada llamada para obtener un bloqueo requiere una llamada recíproca a NdisReleaseRWLock.

La adquisición de un NDIS_RW_LOCK_EX se afinidad con el procesador actual. Los controladores deben llamar a NdisReleaseRWLock en el mismo procesador que realizó la llamada correspondiente a NdisAcquireRWLockRead o NdisAcquireRWLockWrite.

NdisReleaseRWLock restaura el IRQL original que usó su llamador antes de obtener el bloqueo.

Requisitos

Requisito Value
Cliente mínimo compatible Compatible con NDIS 6.20 y versiones posteriores.
Plataforma de destino Universal
Encabezado ndis.h (incluya Ndis.h)
Library Ndis.lib
IRQL DISPATCH_LEVEL

Consulte también

LOCK_STATE_EX

NDIS_RW_LOCK_EX

NdisAcquireRWLockRead

NdisAcquireRWLockWrite