Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A função KeRcuReadUnlock sai de uma seção crítica do lado de leitura RCU (Read-Copy-Update) no domínio RCU padrão que foi inserido anteriormente com KeRcuReadLock.
Sintaxe
VOID KeRcuReadUnlock();
Valor de retorno
None
Observações
Essa função desafixa o thread de chamada de seu processador, restaura o IRQL original, se necessário, e executa qualquer relatório de período de carência necessário para avançar na sincronização do RCU.
KeRcuReadUnlock deve ser chamado para sair de todas as seções críticas do lado de leitura do RCU que foram inseridas com KeRcuReadLock. As chamadas devem ser corretamente aninhadas (ordem LIFO) ao usar seções críticas aninhadas do lado da leitura do RCU.
Depois de chamar KeRcuReadUnlock:
- O thread de chamada não está mais protegido contra períodos de carência do RCU.
- As estruturas de dados protegidas pelo RCU acessadas durante a seção crítica podem se tornar qualificadas para recuperação.
- O thread não deve continuar a acessar dados protegidos pelo RCU usando ponteiros obtidos durante a seção crítica.
- O thread não está mais fixado em seu processador e pode ser agendado em processadores diferentes.
Essa função pode ser chamada de qualquer IRQL. A função lida automaticamente com a restauração do IRQL; ou seja, se o IRQL original antes do KeRcuReadLock correspondente estiver abaixo DISPATCH_LEVEL, ele será restaurado para esse nível.
Essa função usa o domínio RCU padrão, tornando-o adequado para casos de uso de RCU simples. Para cenários mais complexos que exigem domínios de sincronização personalizados, use KeSrcuReadUnlock com uma partição SRCU explícita.
Requirements
| Requirement | Value |
|---|---|
| Cliente mínimo suportado | Windows 11, versão 24H2 |
| Servidor mínimo compatível | Windows Server 2025 |
| da Plataforma de Destino | Universal |
| Header | wdm.h (inclua Wdm.h) |
| Library | NtosKrnl.lib |
| IRQL | <= DISPATCH_LEVEL |