Partager via


InterlockedExchange, fonction (wdm.h)

La routine InterlockedExchange définit une variable entière sur une valeur donnée en tant qu’opération atomique.

Syntaxe

LONG InterlockedExchange(
  [in, out] LONG volatile *Target,
  [in]      LONG          Value
);

Paramètres

[in, out] Target

Pointeur vers une variable à définir sur la valeur fournie en tant qu’opération atomique.

[in] Value

Spécifie la valeur à laquelle la variable sera définie.

Valeur de retour

InterlockedExchange retourne la valeur de la variable à cible lorsque l’appel s’est produit.

Remarques

InterlockedExchange doit être utilisé au lieu de ExInterlockedExchangeUlong, car il est à la fois plus rapide et plus efficace.

interlockedExchange est implémentée inline 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.

Un appel à routine interlockedExchange n’est atomique que par rapport à d’autres appels interblocageXxx.

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 wdm.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