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 |