Compartilhar via


Função KeRcuReadUnlock (wdm.h)

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

Consulte também

KeRcuReadLock

KeRcuSynchronize

KeSrcuReadLock

KeSrcuReadUnlock

KeSrcuSynchronize