Compartilhar via


Função KeSrcuReadUnlock (wdm.h)

A rotina KeSrcuReadUnlock sai de uma seção crítica de RCU do lado de leitura de uma partição srcu (Copy-Update de leitura) adormecida especificada.

Sintaxe

VOID KeSrcuReadUnlock(
  [in] PKE_SRCU      Rcu,
  [in] PKE_SRCU_LOCK Lock
);

Parâmetros

[in] Rcu

Um ponteiro para a instância srcu que foi usada na chamada KeSrcuReadLock correspondente.

[in] Lock

Um ponteiro para a estrutura de KE_SRCU_LOCK que foi preenchida pela chamada KeSrcuReadLock correspondente.

Valor de retorno

None

Observações

KeSrcuReadUnlock sai de uma seção crítica do lado da leitura que foi inserida com KeSrcuReadLock. Essa função deve ser chamada no mesmo thread que chamou o KeSrcuReadLock correspondente.

Essa função pode ser chamada em qualquer IRQL quando o thread ainda estiver no mesmo processador. Se o thread for migrado para um processador diferente, o IRQL máximo efetivo será DISPATCH_LEVEL devido aos requisitos de IPI (interrupção entre processadores).

Essa função pode ser chamada com interrupções desabilitadas.

Se o thread de chamada migrar para um processador diferente desde a chamada de KeSrcuReadLock, essa função será:

  1. Detecte a alteração do processador.
  2. Envie uma IPI (interrupção entre processadores) para o processador original.
  3. Conclua a operação de desbloqueio remotamente no processador original.

Após essa chamada, os dados protegidos não devem mais ser acessados.

Requirements

Requirement Value
da Plataforma de Destino Universal
Header wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
de DLL NtosKrnl.exe
IRQL Qualquer nível (consulte Comentários)

Consulte também

KE_SRCU_LOCK

KeSrcuAllocate

KeSrcuFree

KeSrcuReadLock

KeSrcuSynchronize