Função ExAcquireRundownProtectionEx (wdm.h)
A rotina ExAcquireRundownProtectionEx tenta adquirir proteção run-down em um objeto compartilhado para que o chamador possa acessar o objeto com segurança.
Sintaxe
BOOLEAN ExAcquireRundownProtectionEx(
[in, out] PEX_RUNDOWN_REF RunRef,
[in] ULONG Count
);
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.
[in] Count
O valor pelo qual incrementar para a contagem de instâncias em execução do objeto. A contagem será incrementada somente se a rotina retornar VERDADEIRO. Para obter mais informações, consulte Comentários
Valor de retorno
ExAcquireRundownProtectionEx 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 ExAcquireRundownProtectionEx para adquirir a proteção de execução no objeto.
O parâmetro RunRef aponta para uma estrutura EX_RUNDOWN_REF que rastreia o status de execução do objeto associado. Essas informações de status incluem uma contagem de instâncias de proteção em execução que estão atualmente em vigor no objeto. As rotinas ExAcquireRundownProtectionEx e ExReleaseRundownProtectionEx incrementam e decrementam essa contagem por valores arbitrários. Duas rotinas relacionadas, ExAcquireRundownProtection e ExReleaseRundownProtection, incremente e decremente essa contagem por um.
Desde que o bloco de execução em si não sejapagado, essa função pode ser chamada em DISPATCH_LEVEL.
Para obter mais informações, consulte Run-Down Protection.