Partager via


FltAcquirePushLockExclusiveEx function (fltkernel.h)

La routine FltAcquirePushLockExclusiveEx acquiert le verrou Push donné pour un accès exclusif par le thread appelant.

Syntaxe

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

Paramètres

[in, out] PushLock

Pointeur de verrouillage push opaque. Ce pointeur doit avoir été initialisé par un appel précédent à FltInitializePushLock.

Flags

Masque de bits des indicateurs qui contrôlent les attributs du verrou. indicateurs peut être la valeur suivante.

Drapeau Signification
FLT_PUSH_LOCK_DISABLE_AUTO_BOOST Désactivez l’amélioration automatique du verrouillage push.
FLT_PUSH_LOCK_ENABLE_AUTO_BOOST Obsolescent; n’a aucun effet. Active l’amélioration automatique du verrouillage push.

Valeur de retour

Aucun.

Remarques

FltAcquirePushLockExclusiveEx acquiert le verrou Push donné pour un accès exclusif par le thread appelant.

Les verrous push sont similaires aux structures ERESOURCE (également appelées ressources) dans lesquelles ils peuvent être acquis pour un accès partagé ou exclusif. Pour plus d’informations sur les verrous push, consultez l’entrée de référence pour FltInitializePushLock.

Contrairement aux structures ERESOURCE, les verrous push ne peuvent pas être acquis de manière récursive. Si l’appelant a déjà acquis le verrou Push pour un accès exclusif ou partagé, le thread se bloque.

Lorsque l’appelant reçoit un accès exclusif au verrou Push donné dépend des éléments suivants :

  • Si le verrou push n’est pas propriétaire, l’accès exclusif est accordé immédiatement au thread actuel.

  • Si le verrou push a déjà été acquis pour un accès exclusif ou partagé par un autre thread, le thread actuel est placé dans un état d’attente jusqu’à ce que le verrou push puisse être acquis.

Exigences

Exigence Valeur
d’en-tête fltkernel.h
bibliothèque FltMgr.lib

Voir aussi

FltInitializePushLock