Função FltAcquirePushLockExclusiveEx (fltkernel.h)
A rotina FltAcquirePushLockExclusiveEx adquire o bloqueio de push determinado 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. Flags pode ser o valor a seguir.
Bandeira | Significado |
---|---|
FLT_PUSH_LOCK_DISABLE_AUTO_BOOST | Desabilitar o aumento automático do bloqueio de push. |
FLT_PUSH_LOCK_ENABLE_AUTO_BOOST | Deprecado; não tem efeito. Habilita o aumento automático do bloqueio por push. |
Valor de retorno
Nenhum.
Observações
FltAcquirePushLockExclusiveExclusiveEx adquire o bloqueio de push determinado para acesso exclusivo pelo thread de chamada.
Os bloqueios por push são semelhantes às estruturas ERESOURCE (também chamados de recursos) na medida em que podem ser adquiridos para acesso compartilhado ou exclusivo. Para obter mais informações sobre bloqueios por 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 por push para acesso exclusivo ou compartilhado, o thread será travado.
Quando o chamador receberá acesso exclusivo ao bloqueio de push especificado, depende do seguinte:
Se o bloqueio por push não for semeado no momento, o acesso exclusivo será concedido imediatamente ao thread atual.
Se o bloqueio por 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 por push possa ser adquirido.
Requisitos
Requisito | Valor |
---|---|
cabeçalho | fltkernel.h |
biblioteca | FltMgr.lib |