Função ExWaitForRundownProtectionRelease (wdm.h)

A rotina ExWaitForRundownProtectionRelease aguarda até que todos os drivers que já receberam proteção de execução concluam seus acessos do objeto compartilhado.

Sintaxe

void ExWaitForRundownProtectionRelease(
  [in, out] PEX_RUNDOWN_REF RunRef
);

Parâmetros

[in, out] RunRef

Um ponteiro para uma estrutura EX_RUNDOWN_REF que foi inicializada por uma chamada anterior para a rotina ExInitializeRundownProtection . As rotinas de proteção de execução usam essa estrutura para rastrear o status de execução do objeto compartilhado associado. Essa estrutura é opaca para os drivers.

Valor retornado

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

Depois que ExWaitForRundownProtectionRelease for chamado, a rotina ExAcquireRundownProtection não concederá mais solicitações de proteção de execução contra drivers que estão tentando acessar o objeto compartilhado. A rotina aguarda o retorno até que todos os drivers que receberam proteção de execução anteriormente terminem de acessar o objeto. Conforme cada driver é concluído, ele chama a rotina ExReleaseRundownProtection para liberar a proteção de run-down adquirida anteriormente. Quando todos os acessos pendentes são concluídos, ExWaitForRundownProtectionRelease retorna e o objeto pode ser excluído com segurança.

Se ExWaitForRundownProtectionRelease for chamado quando todos os drivers que receberam proteção run-down anteriormente já tiverem terminado de acessar o objeto compartilhado, a rotina alterará o status do objeto a ser executado e retornará imediatamente, sem aguardar.

Se ExWaitForRundownProtectionRelease 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 a Proteção Desativada.

Requisitos

   
Cliente mínimo com suporte Disponível a partir do Windows XP.
Plataforma de Destino Universal
Cabeçalho wdm.h (include Wdm.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL
Regras de conformidade de DDI HwStorPortProhibitedDIs(storport), SpNoWait(storport)

Confira também

EX_RUNDOWN_REF

ExAcquireRundownProtection

ExInitializeRundownProtection

ExReleaseRundownProtection