Partager via


InterlockedExchangeAdd, fonction (miniport.h)

La routine InterlockedExchangeAdd ajoute une valeur à un entier donné en tant qu’opération atomique et retourne la valeur d’origine de l’entier donné.

Syntaxe

LONG InterlockedExchangeAdd(
  [in, out] LONG volatile *Addend,
  [in]      LONG          Value
);

Paramètres

[in, out] Addend

Pointeur vers une variable entière.

[in] Value

Spécifie la valeur à ajouter à Addend .

Valeur de retour

InterlockedExchangeAdd retourne la valeur d’origine de la variable Addend lorsque l’appel s’est produit.

Remarques

InterlockedExchangeAdd doit être utilisé au lieu de ExInterlockedAddUlong, car il est plus rapide et plus efficace.

interlockedExchangeAdd est implémenté en ligne par le compilateur le cas échéant et possible. Il ne nécessite pas de verrou de rotation et peut donc être utilisé en toute sécurité sur les données paginables.

interlockedExchangeAdd n’est atomique que par rapport aux autres appels interlockésXxx.

Les opérations verrouillées ne peuvent pas être utilisées sur la mémoire non mise en cache.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows 2000.
plateforme cible Universel
d’en-tête miniport.h (include Wdm.h, Ntddk.h, Ntifs.h, Miniport.h)
bibliothèque OneCoreUAP.lib sur Windows 10
IRQL N’importe quel niveau

Voir aussi

ExInterlockedAddLargeInteger

ExInterlockedAddUlong

InterlockedDecrement

interlockedIncrement