Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La routine InterlockedCompareExchange effectue une opération atomique qui compare la valeur d’entrée pointée par destination avec la valeur de Comparand.
Syntaxe
LONG InterlockedCompareExchange(
[in, out] LONG volatile *Destination,
LONG ExChange,
LONG Comperand
);
Paramètres
[in, out] Destination
Pointeur vers la valeur d’entrée qui est comparée à la valeur de Comparand.
ExChange
Spécifie la valeur de sortie pointée par Destination si la valeur d’entrée pointée par Destination est égale à la valeur de Comparand.
Comperand
Spécifie la valeur qui est comparée à la valeur d’entrée pointée par Destination.
Valeur de retour
InterlockedCompareExchange retourne la valeur d’origine de *Destination.
Remarques
Si Comparand est égal à *de destination, *Destination est défini sur Exchange. Sinon, *destination n’est pas modifiée.
interlockedCompareExchange offre un moyen rapide et atomique de synchroniser les tests et la mise à jour d’une variable partagée par plusieurs threads. Si la valeur d’entrée pointée par Destination est égale à la valeur de Comparand, la valeur de sortie de Destination est définie sur la valeur de Exchange.
interlockedCompareExchange est conçu pour la vitesse et, généralement, est implémenté en ligne par un compilateur. interlockedCompareExchange n’est atomique que par rapport à d’autres appels interbloquésXxx. Il n’utilise pas de verrou de rotation et peut être utilisé en toute sécurité sur les données paginables.
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
ExInterlockedCompareExchange64