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

ExReleaseRundownProtectionCacheAwareEx

ExRundownCompletedCacheAware

ExSizeOfRundownProtectionCacheAware