Fonction InterlockedExchangeAdd (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 retournée
InterlockedExchangeAdd retourne la valeur d’origine de la variable Addend lorsque l’appel s’est produit.
Remarques
InterlockedExchangeAdd doit être utilisé au lieu d’ExInterlockedAddUlong , car il est à la fois plus rapide et plus efficace.
InterlockedExchangeAdd est implémenté en ligne par le compilateur lorsque cela est approprié 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 est atomique uniquement par rapport aux autres appels Xxx verrouillés.
Les opérations verrouillées ne peuvent pas être utilisées sur la mémoire non mise en cache.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows 2000. |
Plateforme cible | Universal |
En-tête | miniport.h (incluent Wdm.h, Ntddk.h, Ntifs.h, Miniport.h) |
Bibliothèque | OneCoreUAP.lib sur Windows 10 |
IRQL | N’importe quel niveau |