Fonction InterlockedExchangePointer (winnt.h)
Échange atomiquement une paire d’adresses.
Syntaxe
PVOID InterlockedExchangePointer(
[in, out] PVOID volatile *Target,
[in] PVOID Value
);
Paramètres
[in, out] Target
Pointeur vers l’adresse à échanger. La fonction définit l’adresse pointée par le paramètre Target (*Target
) sur l’adresse qui est la valeur du paramètre Value et retourne la valeur précédente du paramètre Target .
[in] Value
Adresse à échanger avec l’adresse pointée par le paramètre Target (*Target
).
Valeur retournée
La fonction retourne l’adresse initiale pointée vers le paramètre Target .
Remarques
Cette fonction copie l’adresse passée en tant que deuxième paramètre dans le premier et retourne l’adresse d’origine du premier.
Sur un système 64 bits, les paramètres sont de 64 bits et le paramètre Target doit être aligné sur les limites 64 bits ; sinon, la fonction se comportera de manière imprévisible. Sur un système 32 bits, les paramètres sont de 32 bits et le paramètre Target doit être aligné sur les limites 32 bits.
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.
Cette fonction est implémentée à l’aide d’une intrinsèque du compilateur dans la mesure du possible. Pour plus d’informations, consultez le fichier d’en-tête WinBase.h et _InterlockedExchangePointer.
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 à la place InterlockedExchangePointerAcquire .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau | applications UWP] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau | applications UWP] |
Plateforme cible | Windows |
En-tête | winnt.h (inclure Windows.h) |
Voir aussi
Accès aux variables verrouillées
InterlockedExchangePointerAcquire
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour