Função ExWaitForRundownProtectionRelease (wdm.h)
A rotina ExWaitForRundownProtectionRelease aguarda até que todos os drivers que já receberam proteção em execução concluam seus acessos ao 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 executadas usam essa estrutura para acompanhar a status de execução do objeto compartilhado associado. Essa estrutura é opaca para 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 quaisquer acessos pendentes do objeto. Depois que ExWaitForRundownProtectionRelease retornar, o driver proprietário poderá excluir o objeto com segurança.
Depois que ExWaitForRundownProtectionRelease é chamado, a rotina ExAcquireRundownProtection não concede mais solicitações de proteção de execução de 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 concedida anteriormente terminem de acessar o objeto. À medida que cada driver é concluído, ele chama a rotina ExReleaseRundownProtection para liberar a proteção de execução 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 de execução concedida anteriormente já tiverem terminado de acessar o objeto compartilhado, a rotina alterará o objeto status para ser executado e retornará imediatamente, sem esperar.
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 Proteção contra run-down.
Requisitos
Requisito | Valor |
---|---|
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 da DDI | HwStorPortProhibitedDIs(storport), SpNoWait(storport) |