InterlockedExchange64-Funktion (winnt.h)
Legt eine 64-Bit-Variable auf den angegebenen Wert als Atomoperation fest.
Verwenden Sie die InterlockedExchange16--Funktion, um eine 16-Bit-Variable zu verwenden.
Verwenden Sie die InterlockedExchange-Funktion, um eine 32-Bit-Variable zu verwenden.
Syntax
LONG64 InterlockedExchange64(
[in, out] LONG64 volatile *Target,
[in] LONG64 Value
);
Parameter
[in, out] Target
Ein Zeiger auf den wert, der ausgetauscht werden soll. Die Funktion legt diese Variable auf Valuefest und gibt den vorherigen Wert zurück.
[in] Value
Der wert, der mit dem wert ausgetauscht werden soll, auf den durch Targetverwiesen wird.
Rückgabewert
Die Funktion gibt den Anfangswert des parameters Target zurück.
Bemerkungen
Die verriegelten Funktionen bieten einen einfachen Mechanismus zum Synchronisieren des Zugriffs auf eine Variable, die von mehreren Threads gemeinsam genutzt wird. Diese Funktion ist atomar in Bezug auf Aufrufe anderer verzahnter Funktionen.
Diese Funktion wird mithilfe eines systeminternen Compilers implementiert. Weitere Informationen finden Sie in der WinBase.h-Headerdatei und _InterlockedExchange64.
Diese Funktion generiert eine vollständige Speicherbarriere (oder einen Zaun), um sicherzustellen, dass Speichervorgänge in der Reihenfolge abgeschlossen werden.
Itanium-basierte Systeme: Verwenden Sie stattdessen InterlockedExchangeAcquire64-.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows Vista [Desktop-Apps | UWP-Apps] |
mindestens unterstützte Server- | Windows Server 2003 [Desktop-Apps | UWP-Apps] |
Zielplattform- | Fenster |
Header- | winnt.h (enthalten Windows.h) |
Siehe auch
InterlockedExchangePointerAcquire-