Partilhar via


Função ExAcquireRundownProtection (wdm.h)

A rotina ExAcquireRundownProtection tenta adquirir proteção run-down em um objeto compartilhado para que o chamador possa acessar o objeto com segurança.

Sintaxe

BOOLEAN ExAcquireRundownProtection(
  [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 o status de execução do objeto compartilhado associado. Essa estrutura é opaca para drivers.

Valor de retorno

ExAcquireRundownProtection retornará verdadeiro se a rotina adquirir com êxito a proteção de run-down para o chamador. Caso contrário, ele retornará FALSE. Um valor retornado de FALSE indica que a execução do objeto foi iniciada e que o objeto deve ser tratado como inválido.

Observações

Para acessar com segurança um objeto compartilhado, um driver chama ExAcquireRundownProtection para adquirir a proteção de execução no objeto. A rotina retorna TRUE para indicar que a proteção de run-down está em vigor. Quando a proteção executada estiver em vigor, o driver poderá acessar o objeto com segurança sem o risco de que o objeto seja excluído antes da conclusão do acesso.

Desde que o bloco de execução em si não sejapagado, essa função pode ser chamada em DISPATCH_LEVEL.

Depois de concluir o acesso, o driver chama ExReleaseRundownProtection para liberar a proteção de run-down adquirida anteriormente.

Se ExAcquireRundownProtection retornar FALSE, o objeto não estará mais acessível. Por exemplo, se o objeto for substituído por um novo, o chamador deverá aguardar o proprietário do objeto criar o novo objeto e negociar o acesso ao novo objeto.

Para obter mais informações, consulte Run-Down Protection.

Requisitos

Requisito Valor
de cliente com suporte mínimo Disponível a partir do Windows XP.
da Plataforma de Destino Universal
cabeçalho wdm.h (inclua Wdm.h)
biblioteca NtosKrnl.lib
de DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL (consulte Comentários)
regras de conformidade de DDI HwStorPortProhibitedDIs(storport)

Consulte também

EX_RUNDOWN_REF

ExInitializeRundownProtection

ExReleaseRundownProtection