Função FltAcquirePushLockExclusiveEx (fltkernel.h)

A rotina FltAcquirePushLockExclusiveEx adquire o bloqueio de push fornecido para acesso exclusivo pelo thread de chamada.

Sintaxe

VOID FLTAPI FltAcquirePushLockExclusiveEx(
  [in, out] PEX_PUSH_LOCK PushLock,
            ULONG         Flags
);

Parâmetros

[in, out] PushLock

Ponteiro de bloqueio de push opaco. Esse ponteiro deve ter sido inicializado por uma chamada anterior para FltInitializePushLock.

Flags

Uma máscara de bits de sinalizadores que controlam os atributos do bloqueio. Sinalizadores podem ser o valor a seguir.

Sinalizador Significado
FLT_PUSH_LOCK_DISABLE_AUTO_BOOST Desabilitar o aumento automático do bloqueio de push.
FLT_PUSH_LOCK_ENABLE_AUTO_BOOST Preterido; não tem efeito. Habilita o aumento automático do bloqueio por push.

Valor retornado

Nenhum.

Comentários

FltAcquirePushLockExclusiveEx adquire o bloqueio de push fornecido para acesso exclusivo pelo thread de chamada.

Os bloqueios por push são semelhantes às estruturas ERESOURCE (também chamadas de recursos) na medida em que podem ser adquiridos para acesso compartilhado ou exclusivo. Para obter mais informações sobre bloqueios de push, consulte a entrada de referência para FltInitializePushLock.

Ao contrário das estruturas ERESOURCE, os bloqueios de push não podem ser adquiridos recursivamente. Se o chamador já tiver adquirido o bloqueio de push para acesso exclusivo ou compartilhado, o thread será travado.

Quando o chamador terá acesso exclusivo ao bloqueio de push especificado, depende do seguinte:

  • Se o bloqueio por push estiver sem proprietário no momento, o acesso exclusivo será concedido imediatamente ao thread atual.

  • Se o bloqueio de push já tiver sido adquirido para acesso exclusivo ou compartilhado por outro thread, o thread atual será colocado em um estado de espera até que o bloqueio de push possa ser adquirido.

Requisitos

Requisito Valor
Cabeçalho fltkernel.h
Biblioteca FltMgr.lib

Confira também

FltInitializePushLock