Share via


_InterlockedIncrement 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 InterlockedIncrement .

long _InterlockedIncrement(
   long * lpAddend
);
long _InterlockedIncrement_acq(
   long * lpAddend
);
long _InterlockedIncrement_rel(
   long * lpAddend
);
short _InterlockedIncrement16(
   short * lpAddend
);
short _InterlockedIncrement16_acq(
   short * lpAddend
);
short _InterlockedIncrement16_rel(
   short * lpAddend
);
__int64 _InterlockedIncrement64(
   __int64 * lpAddend
);
__int64 _InterlockedIncrement64_acq(
   __int64 * lpAddend
);
__int64 _InterlockedIncrement64_rel(
   __int64 * lpAddend
);

Parameter

  • [in, out] lpAddend
    Zeiger auf die Variable inkrementiert werden soll.

Rückgabewert

Windows 98, Windows NT 4.0 und höher: Der Rückgabewert ist der resultierende inkrementierte Wert.

Windows 95, Windows NT 3.51 und früher: Wenn das Ergebnis der Operation (null) ist, ist der Rückgabewert (null). Wenn das Ergebnis des Vorgangs kleiner als null ist, ist der Rückgabewert ist negativ, aber nicht notwendigerweise mit dem Ergebnis. Wenn das Ergebnis des Vorgangs größer als null ist, ist der Rückgabewert positiv, ist jedoch nicht unbedingt mit dem Ergebnis.

Anforderungen

Intrinsisch

Architektur

_InterlockedIncrement

x86, IPF, x64

_InterlockedIncrement_acq

IPF

_InterlockedIncrement_rel

IPF

_InterlockedIncrement16

x86, IPF, x64

_InterlockedIncrement16_acq

IPF

_InterlockedIncrement16_rel

IPF

_InterlockedIncrement64

IPF, x64

_InterlockedIncrement64_acq

IPF

_InterlockedIncrement64_rel

IPF

Headerdatei <intrin.h>

Hinweise

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

Während die _InterlockedIncrement-Funktion an 32-Bit-Ganzzahlwerte auswirkt, können _InterlockedIncrement16 an 16-Bit-Ganzzahlwerte ausgeführt werden und _InterlockedIncrement64 können an 64-Bit-Ganzzahlwerte ausgeführt werden.

_InterlockedIncrement_acq, _InterlockedIncrement16_acqund _InterlockedIncrement64_acq systeminterne 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.

_InterlockedIncrement_rel, _InterlockedIncrement16_relund _InterlockedIncrement64_rel systeminterne Funktion entsprechen denen, die die entsprechenden Funktionen ohne das Suffix _rel Ausnahme, dass der Vorgang mit Semantik Version ausgeführt wird, die beim Suchen eines kritischen Bereich verlässt.

Die Variable, die von dem lpAddend-Parameter dargestellt wird, muss auf eine 32-Bit-Grenze ausgerichtet sein. Andernfalls schlägt diese Funktion auf allen Systemen mit mehreren Prozessoren x86-Systemen und als x86 aus.

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

Die Win32-Funktion wird in Wdm.h oder Ntddk.hdeklariert.

Diese Routinen sind als systeminterne Funktionen nur verfügbar.

Beispiel

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

Siehe auch

Referenz

Systeminterne Funktionen des Compilers

C++-Schlüsselwörter

Weitere Ressourcen

Conflicts with the x86 Compiler