Compartilhar 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 que são 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 fizer para obter o bloqueio do mesmo thread de driver não ISR.

Retornar valor

Nenhum

Comentários

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 NdisAcquireRWLockWrite.

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

Requisitos

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

Confira também

LOCK_STATE_EX

NDIS_RW_LOCK_EX

NdisAcquireRWLockRead

NdisAcquireRWLockWrite