Partilhar via


Função NdisReleaseRWLock (ndis.h)

A função NdisReleaseRWLock libera um bloqueio de leitura/gravação que o chamador usa para obter acesso aos recursos compartilhados entre threads de driver.

Sintaxe

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

Parâmetros

[in] Lock

Um ponteiro para uma variável de NDIS_RW_LOCK_EX opaca que representa um bloqueio. O chamador pode usar esse bloqueio para obter acesso de gravação ou leitura a recursos compartilhados entre threads de driver não ISR.

[in] LockState

Um ponteiro para uma variável de LOCK_STATE_EX opaca que rastreia o estado do bloqueio. Essa variável existe no intervalo entre as vezes que o chamador obtém e libera o bloqueio. O chamador deve usar uma variável diferente do tipo LOCK_STATE_EX para cada tentativa que ele faz para obter o bloqueio do mesmo thread de driver não ISR.

Valor de retorno

Nenhum

Observações

Os drivers NDIS chamam a função NdisReleaseRWLock para liberar um bloqueio de leitura/gravação obtido anteriormente chamando o
NdisAcquireRWLockRead ou função NdisAcquireRWLockWrite.

Um driver deve obter um bloqueio de leitura/gravação antes que o driver possa chamar NdisReleaseRWLock. Cada chamada para obter um bloqueio requer uma chamada recíproca para NdisReleaseRWLock.

A aquisição de um NDIS_RW_LOCK_EX é afinidade com o processador atual. Os drivers devem chamar NdisReleaseRWLock no mesmo processador que fez a chamada correspondente para NdisAcquireRWLockRead ou NdisAcquireRLockWrite.

NdisReleaseRWLock restaura o IRQL original que foi usado pelo chamador antes do bloqueio ser obtido.

Requisitos

Requisito Valor
de cliente com suporte mínimo Com suporte no NDIS 6.20 e posterior.
da Plataforma de Destino Universal
cabeçalho ndis.h (inclua Ndis.h)
biblioteca Ndis.lib
IRQL DISPATCH_LEVEL

Consulte também

LOCK_STATE_EX

NDIS_RW_LOCK_EX

NdisAcquireRWLockRead

NdisAcquireRWLockWrite