Compartilhar via


Função KeSrcuAllocate (wdm.h)

A rotina KeSrcuAllocate aloca e inicializa uma partição srcu (Copy-Update de leitura) para fins de sincronização.

Sintaxe

PKE_SRCU KeSrcuAllocate(
  [in] ULONG Tag
);

Parâmetros

[in] Tag

Um valor de marca de quatro caracteres usado para identificar essa instância srcu.

Valor de retorno

KeSrcuAllocate retorna um ponteiro para a instância srcu alocada com êxito ou NULL se a alocação falhar.

Observações

KeSrcuAllocate cria um novo domínio de sincronização srcu que permite que vários leitores acessem dados compartilhados simultaneamente, garantindo atualizações seguras. O SRCU difere do RCU normal, em que os leitores podem dormir enquanto seguram o bloqueio de leitura.

A partição SRCU retornada por essa função deve ser liberada usando KeSrcuFree quando não for mais necessário.

Cada partição SRCU é independente e mantém seus próprios períodos de carência. O SRCU foi projetado para cenários em que os leitores podem precisar dormir ou executar operações de bloqueio.

O parâmetro Tag deve ser exclusivo para ajudar a identificar a instância durante a depuração.

Padrão de uso típico

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 < DISPATCH_LEVEL

Consulte também

KeSrcuFree

KeSrcuReadLock

KeSrcuReadUnlock

KeSrcuSynchronize