Função ExWaitForRundownProtectionReleaseCacheAware (wdm.h)
A rotina ExWaitForRundownProtectionReleaseCacheAware aguarda até que todos os drivers que já receberam proteção de run-down com reconhecimento de cache concluam seus acessos ao objeto compartilhado.
Sintaxe
void ExWaitForRundownProtectionReleaseCacheAware(
[in, out] PEX_RUNDOWN_REF_CACHE_AWARE RunRef
);
Parâmetros
[in, out] RunRef
Um ponteiro para uma estrutura EX_RUNDOWN_REF_CACHE_AWARE que foi inicializada por uma chamada anterior para ExAllocateCacheAwareRundownProtection ou ExInitializeRundownProtectionCacheAware. As rotinas de proteção de run down com reconhecimento de cache usam essa estrutura para acompanhar o run-down status do objeto compartilhado associado. Essa estrutura é opaca para os drivers.
Retornar valor
Nenhum
Comentários
Essa rotina é chamada pelo driver que possui um objeto que reside na memória compartilhada e que é acessado por outros drivers. Antes de excluir esse objeto, o driver proprietário deve chamar essa rotina para aguardar a conclusão de todos os acessos pendentes do objeto. Depois que ExWaitForRundownProtectionReleaseCacheAware retornar, o driver proprietário poderá excluir o objeto com segurança.
Depois que ExWaitForRundownProtectionReleaseCacheAware é chamado, a rotina ExAcquireRundownProtectionCacheAware não concede mais solicitações de proteção de run down com reconhecimento de cache de drivers que estão tentando acessar o objeto compartilhado.
A rotina aguarda o retorno até que todos os drivers que receberam anteriormente a proteção de run-down com reconhecimento de cache terminem de acessar o objeto. À medida que cada driver é concluído, ele chama a rotina ExReleaseRundownProtectionCacheAware para liberar a proteção de run down com reconhecimento de cache adquirida anteriormente. Quando todos os acessos pendentes são concluídos, ExWaitForRundownProtectionReleaseCacheAware retorna e o objeto pode ser excluído com segurança.
Se ExWaitForRundownProtectionReleaseCacheAware for chamado quando todos os drivers que receberam anteriormente a proteção de run down já tiverem terminado de acessar o objeto compartilhado, a rotina alterará o objeto status para ser executado e retornará imediatamente, sem esperar.
Se ExWaitForRundownProtectionReleaseCacheAware for chamado para executar um objeto compartilhado, mas o parâmetro RunRef indicar que esse objeto já está executado, a chamada não terá efeito, mas não será tratada como um erro.
Para obter mais informações, consulte Proteção de run down com reconhecimento de cache.
Requisitos
Requisito | Valor |
---|---|
Servidor mínimo com suporte | Windows Server 2003, Service Pack 1 |
Cabeçalho | wdm.h (inclua Wdm.h) |
Regras de conformidade de DDI | HwStorPortProhibitedDIs(storport), SpNoWait(storport) |
Confira também
ExAcquireRundownProtectionCacheAware
ExAcquireRundownProtectionCacheAwareEx
ExAllocateCacheAwareRundownProtection
ExFreeCacheAwareRundownProtection
ExInitializeRundownProtectionCacheAware
ExReInitializeRundownProtectionCacheAware
ExReleaseRundownProtectionCacheAware