Share via


_InterlockedExchange systeminterne Funktionen

[Diese Dokumentation ist nur eine Vorschau und wird in späteren Versionen ggf. geändert. Blank topics are included as placeholders.]

Microsoft-spezifisch

Gewähren Sie systeminterne Unterstützung für die Win32-Funktion Windows SDK InterlockedExchange .

long _InterlockedExchange(
   long * Target,
   long Value
);
long _InterlockedExchange_acq(
   long * Target,
   long Value
);
__int64 _InterlockedExchange64(
   __int64 * Target,
   __int64 Value
);
__int64 _InterlockedExchange64_acq(
   __int64 * Target,
   __int64 Value
);

Parameter

  • [in, out] Target
    Zeiger auf den Wert ausgetauscht werden. Die Funktion wird diese Variable zu Value fest und gibt seinen früheren Wert zurück.

  • [in] Value
    Der mit dem Wert ausgetauscht werden Wert, der sich von Target.

Rückgabewert

Gibt den Anfangswert zurück, der durch Targetdargestellt wird.

Anforderungen

Intrinsisch

Architektur

_InterlockedExchange

x86, IPF, x64

_InterlockedExchange_acq

IPF

_InterlockedExchange64

IPF, x64

_InterlockedExchange64_acq

IPF

Headerdatei <intrin.h>

Hinweise

Es gibt mehrere Varianten _InterlockedExchange , die auf Grundlage der Datentypen unterscheiden, die sie enthalten, und ob prozessorspezifisch abrufen, um Ihnen oder Semantik verwendet wird.

Während die _InterlockedExchange-Funktion an 32-Bit-Ganzzahlwerte auswirkt, können _InterlockedExchange64 an 64-Bit-Ganzzahlwerte ausgeführt werden.

Die _InterlockedExchange_acq und _InterlockedExchange64_acq systeminternen Funktionen sind identisch, mit denen die entsprechenden Aufgaben ohne das Suffix _acq Ausnahme, dass der Vorgang mit abrufen Semantik wahrgenommen wird, ist nützlich, wenn Sie einen kritischen Abschnitt eintritt.

Es gibt keine Version dieser Funktion, dass Semantik Version verwendet.

Diese Funktionen verhalten sich als Schreib-Lesespeicher-Barrieren. Weitere Informationen finden Sie unter _ReadWriteBarrier.

Diese Routinen sind als systeminterne Funktionen nur verfügbar.

Beispiel

Ein Beispiel dafür, wie _InterlockedExchangefinden Sie unter _InterlockedDecrementverwendet.

Siehe auch

Referenz

Systeminterne Funktionen des Compilers

C++-Schlüsselwörter

Weitere Ressourcen

Conflicts with the x86 Compiler