Share via


Fonction InterlockedAnd (winnt.h)

Effectue une opération AND atomique sur les valeurs LONG spécifiées.

Syntaxe

LONG InterlockedAnd(
  [in, out] LONG volatile *Destination,
  [in]      LONG          Value
);

Paramètres

[in, out] Destination

Pointeur vers le premier opérande. Cette valeur sera remplacée par le résultat de l’opération.

[in] Value

Deuxième opérande.

Valeur retournée

La fonction retourne la valeur d’origine du paramètre Destination .

Remarques

Les fonctions verrouillées fournissent un mécanisme simple pour synchroniser l’accès à une variable partagée par plusieurs threads. Cette fonction est atomique par rapport aux appels à d’autres fonctions verrouillées.

Pour les systèmes Intel Itanium et les architectures x64, cette fonction est implémentée à l’aide de l’intrinsèque du compilateur. Pour l’architecture x86, utilisez directement l’intrinsèque du compilateur _InterlockedAnd .

Cette fonction génère une barrière de mémoire complète (ou clôture) pour s’assurer que les opérations de mémoire sont effectuées dans l’ordre.

Systèmes itanium : Pour les applications critiques en matière de performances, utilisez plutôt InterlockedAndAcquire ou InterlockedAndRelease .

Note Cette fonction est prise en charge sur les systèmes basés sur Windows RT.
 

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête winnt.h (inclure Windows.h)

Voir aussi

Accès variable verrouillé

InterlockedAnd16

InterlockedAnd16Acquire

InterlockedAnd16NoFence

InterlockedAnd16Release

InterlockedAnd64

InterlockedAnd64Acquire

InterlockedAnd64NoFence

InterlockedAnd64Release

InterlockedAnd8

InterlockedAnd8Acquire

InterlockedAnd8NoFence

InterlockedAnd8Release

InterlockedAndAcquire

InterlockedAndNoFence

InterlockedAndRelease

Fonctions de synchronisation