Freigeben über


InterlockedExchangeAdd64-Funktion (winnt.h)

Führt eine atomare Addition von zwei 64-Bit-Werten aus.

Um mit 32-Bit-Werten zu arbeiten, verwenden Sie die Funktion InterlockedExchangeAdd .

Syntax

LONG64 InterlockedExchangeAdd64(
  [in, out] LONG64 volatile *Addend,
  [in]      LONG64          Value
);

Parameter

[in, out] Addend

Ein Zeiger auf eine Variable. Der Wert dieser Variablen wird durch das Ergebnis des Vorgangs ersetzt.

[in] Value

Der Wert, der der Variablen hinzugefügt werden soll, auf die der Addend-Parameter verweist.

Rückgabewert

Die Funktion gibt den Anfangswert des Addend-Parameters zurück.

Hinweise

Die Funktion führt eine atomare Addition von Value zum Wert durch, auf den von Addend verwiesen wird. Das Ergebnis wird in der durch Addend angegebenen Adresse gespeichert. Die Funktion gibt den Anfangswert der Variablen zurück, auf die von Addend verwiesen wird.

Die Variablen für diese Funktion müssen an einer 64-Bit-Grenze ausgerichtet werden. Andernfalls verhält sich diese Funktion auf x86-Multiprozessorsystemen und allen Nicht-x86-Systemen unvorhersehbar. Siehe _aligned_malloc.

Die verriegelten Funktionen bieten einen einfachen Mechanismus zum Synchronisieren des Zugriffs auf eine Variable, die von mehreren Threads gemeinsam genutzt wird. Diese Funktion ist in Bezug auf Aufrufe anderer ineinander verzahnter Funktionen atomar.

Diese Funktion wird nach Möglichkeit mithilfe eines intrinsischen Compilers implementiert. Weitere Informationen finden Sie in der WinBase.h-Headerdatei und _InterlockedExchangeAdd64.

Diese Funktion generiert eine vollständige Speicherbarriere (oder einen Zaun), um sicherzustellen, dass Speichervorgänge in der richtigen Reihenfolge abgeschlossen werden.

Itanium-basierte Systeme: Verwenden Sie für leistungskritische Anwendungen stattdessen InterlockedExchangeAddAcquire64 .

Hinweis Diese Funktion wird auf Windows RT-basierten Systemen unterstützt.
 

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile winnt.h (Einschließen von Windows.h)

Weitere Informationen

Zugriff auf verriegelte Variablen

InterlockedCompareExchange

InterlockedExchange

InterlockedExchangeAdd

InterlockedExchangeAddAcquire

InterlockedExchangeAddAcquire64

InterlockedExchangeAddNoFence

InterlockedExchangeAddNoFence64

InterlockedExchangeAddRelease

InterlockedExchangeAddRelease64

InterlockedExchangeSubtract

Synchronisierungsfunktionen