Compartilhar via


Função ExAcquireRundownProtection (wdm.h)

A rotina ExAcquireRundownProtection tenta adquirir proteção de execução 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 a status de execução do objeto compartilhado associado. Essa estrutura é opaca para drivers.

Retornar valor

ExAcquireRundownProtection retornaráTRUE se a rotina adquirir com êxito a proteção de execução para o chamador. Caso contrário, 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.

Comentários

Para acessar com segurança um objeto compartilhado, um driver chama ExAcquireRundownProtection para adquirir proteção de execução no objeto . A rotina retorna TRUE para indicar que a proteção de execução está em vigor. Quando a proteção de execução está em vigor, o driver pode acessar com segurança o objeto sem 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 sejapagizado, essa função pode ser chamada em DISPATCH_LEVEL.

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

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

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 <= DISPATCH_LEVEL (consulte Comentários)
Regras de conformidade da DDI HwStorPortProhibitedDDIs(storport)

Confira também

EX_RUNDOWN_REF

ExInitializeRundownProtection

ExReleaseRundownProtection