Partager via


Fonction InterlockedExchange (miniport.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 retournée

InterlockedExchange retourne la valeur de la variable sur Cible lorsque l’appel s’est produit.

Remarques

InterlockedExchange doit être utilisé à la place d’ExInterlockedExchangeUlong, car il est à la fois plus rapide et plus efficace.

InterlockedExchange est implémenté inline par le compilateur lorsque cela est approprié et possible. Il ne nécessite pas de verrouillage de rotation et peut donc être utilisé en toute sécurité sur des données paginables.

Un appel à la routine InterlockedExchange est atomique uniquement par rapport à d’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 (inclure 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