_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