Função ExInitializeRundownProtectionCacheAware (wdm.h)
Essa rotina inicializa um objeto de proteção de rundown com reconhecimento de cache.
Sintaxe
void ExInitializeRundownProtectionCacheAware(
[out] PEX_RUNDOWN_REF_CACHE_AWARE RunRefCacheAware,
[in] SIZE_T RunRefSize
);
Parâmetros
[out] RunRefCacheAware
Ponteiro para um buffer fornecido pelo chamador em que a rotina retorna uma estrutura de EX_RUNDOWN_REF_CACHE_AWARE opaca. Consulte Comentários para obter mais informações.
[in] RunRefSize
Especifica o tamanho, em bytes, do objeto de proteção de rundown.
Valor de retorno
Nenhum
Observações
A proteção de rundown é um mecanismo de sincronização usado pelo kernel do Windows para limpar com segurança os recursos que podem ser acessados por vários threads.
Essa função é otimizada para cenários em que os padrões de acesso a um recurso protegido têm reconhecimento de cache, o que significa que o mesmo thread provavelmente acessará o recurso repetidamente e threads diferentes provavelmente acessarão diferentes partes do recurso. Usando essa função em vez de ExInitializeRundownProtection, um driver pode reduzir a probabilidade de contenção de cache, em que vários threads competem pelas mesmas linhas de cache, levando à degradação do desempenho.
Essa função normalmente é usada durante a fase de inicialização de um driver, quando está configurando os recursos necessários para operar. O driver chama essa função para cada recurso que precisa ser protegido pela proteção de rundown com reconhecimento de cache.
A estrutura EX_RUNDOWN_REF_CACHE_AWARE é uma estrutura opaca usada para gerenciar a proteção de rundown. O chamador deve primeiro chamar ExSizeOfRundownProtectionCacheAware para determinar o tamanho apropriado para o objeto de proteção de rundown. Esse tamanho deve ser usado para alocar um buffer para o parâmetro RunRefCacheAware e também passado como o parâmetro RunRefSize.
Requisitos
Requisito | Valor |
---|---|
servidor com suporte mínimo | Windows Server 2003, Service Pack 1 |
cabeçalho | wdm.h (inclua Wdm.h) |
IRQL | <= APC_LEVEL |
Consulte também
ExAcquireRundownProtectionCacheAware
ExAcquireRundownProtectionCacheAwareEx
ExAllocateCacheAwareRundownProtection
ExFreeCacheAwareRundownProtection
ExReInitializeRundownProtectionCacheAware
ExReleaseRundownProtectionCacheAware
ExReleaseRundownProtectionCacheAwareEx
ExSizeOfRundownProtectionCacheAware