Compartilhar via


Função ExWaitForRundownProtectionReleaseCacheAware (wdm.h)

O ExWaitForRundownProtectionReleaseCacheAware espera 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 de 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 status de execução do objeto compartilhado associado. Essa estrutura é opaca para drivers.

Valor de retorno

Nenhum

Observações

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 retorna, o driver proprietário pode excluir o objeto com segurança.

Depois que ExWaitForRundownProtectionReleaseCacheAware for chamado, o exAcquireRundownProtectionCacheAware rotina não concederá mais solicitações de proteção de run-down com reconhecimento de cache contra drivers que estão tentando acessar o objeto compartilhado.

A rotina aguarda o retorno até que todos os drivers que receberam proteção run-down com reconhecimento de cache terminem de acessar o objeto. À medida que cada driver termina, 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 proteção de execução já tiverem terminado de acessar o objeto compartilhado, a rotina alterará o status do objeto para executare 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 de proteção run-down com reconhecimento de cache.

Requisitos

Requisito Valor
servidor com suporte mínimo Windows Server 2003, Service Pack 1
cabeçalho wdm.h (inclua Wdm.h)
regras de conformidade de DDI HwStorPortProhibitedDIs(storport), SpNoWait(storport)

Consulte também

ExAcquireRundownProtectionCacheAware

ExAcquireRundownProtectionCacheAwareEx

ExAllocateCacheAwareRundownProtection

ExFreeCacheAwareRundownProtection

ExInitializeRundownProtectionCacheAware

ExReInitializeRundownProtectionCacheAware

ExReleaseRundownProtectionCacheAware

ExReleaseRundownProtectionCacheAwareEx

ExRundownCompletedCacheAware

ExSizeOfRundownProtectionCacheAware