Funzione FltAcquirePushLockExclusiveExclusiveEx (fltkernel.h)

La routine FltAcquirePushLockExclusiveExclusiveEx acquisisce il blocco push specificato per l'accesso esclusivo dal thread chiamante.

Sintassi

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

Parametri

[in, out] PushLock

Puntatore di blocco opaco. Questo puntatore deve essere stato inizializzato da una chiamata precedente a FltInitializePushLock.

Flags

Maschera di bit di flag che controllano gli attributi del blocco. I flag possono essere il valore seguente.

Contrassegno Significato
FLT_PUSH_LOCK_DISABLE_AUTO_BOOST Disabilitare l'aumento automatico del blocco push.
FLT_PUSH_LOCK_ENABLE_AUTO_BOOST Deprecato; non ha alcun effetto. Abilita l'aumento automatico del blocco push.

Valore restituito

No.

Osservazioni

FltAcquirePushLockExclusiveExclusiveEx acquisisce il blocco push specificato per l'accesso esclusivo dal thread chiamante.

I blocchi push sono simili alle strutture ERESOURCE (dette anche risorse) in quanto possono essere acquisiti per l'accesso condiviso o esclusivo. Per altre informazioni sui blocchi push, vedere la voce di riferimento per FltInitializePushLock.

A differenza delle strutture ERESOURCE, i blocchi push non possono essere acquisiti in modo ricorsivo. Se il chiamante ha già acquisito il blocco push per l'accesso esclusivo o condiviso, il thread verrà bloccato.

Quando il chiamante riceverà l'accesso esclusivo al blocco push specificato dipende dagli elementi seguenti:

  • Se il blocco push non viene attualmente generato, l'accesso esclusivo viene concesso immediatamente al thread corrente.

  • Se il blocco push è già stato acquisito per l'accesso esclusivo o condiviso da un altro thread, il thread corrente viene inserito in uno stato di attesa fino a quando non sarà possibile acquisire il blocco push.

Requisiti

Requisito Valore
Intestazione fltkernel.h
Libreria FltMgr.lib

Vedi anche

FltInitializePushLock