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 |