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 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
- Chame KeSrcuAllocate para criar uma partição SRCU.
- Use KeSrcuReadLock e KeSrcuReadUnlock para sincronização de leitores.
- Use KeSrcuSynchronize para aguardar a conclusão do leitor antes das atualizações.
- Chame KeSrcuFree para limpar quando terminar.
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 |