Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Bereitstellen der systeminternen Compilerunterstützung für die Win32 Windows SDK InterlockedIncrement-Funktion . Die _InterlockedIncrement
systeminternen Funktionen sind microsoftspezifisch.
Syntax
long _InterlockedIncrement(
long volatile * lpAddend
);
long _InterlockedIncrement_acq(
long volatile * lpAddend
);
long _InterlockedIncrement_rel(
long volatile * lpAddend
);
long _InterlockedIncrement_nf(
long volatile * lpAddend
);
short _InterlockedIncrement16(
short volatile * lpAddend
);
short _InterlockedIncrement16_acq(
short volatile * lpAddend
);
short _InterlockedIncrement16_rel(
short volatile * lpAddend
);
short _InterlockedIncrement16_nf (
short volatile * lpAddend
);
__int64 _InterlockedIncrement64(
__int64 volatile * lpAddend
);
__int64 _InterlockedIncrement64_acq(
__int64 volatile * lpAddend
);
__int64 _InterlockedIncrement64_rel(
__int64 volatile * lpAddend
);
__int64 _InterlockedIncrement64_nf(
__int64 volatile * lpAddend
);
Parameter
lpAddend
[in, out] Zeiger auf die Variable, die erhöht werden soll.
Rückgabewert
Der Rückgabewert ist der resultierende erhöhte Wert.
Anforderungen
Intrinsic | Aufbau | Header |
---|---|---|
_InterlockedIncrement , _InterlockedIncrement16 |
x86, ARM, x64, ARM64 | <intrin.h> |
_InterlockedIncrement64 |
ARM, x64, ARM64 | <intrin.h> |
_InterlockedIncrement_acq , _InterlockedIncrement_rel , , _InterlockedIncrement16_acq _InterlockedIncrement_nf , _InterlockedIncrement16_rel , _InterlockedIncrement16_nf , _InterlockedIncrement64_acq , , _InterlockedIncrement64_rel _InterlockedIncrement64_nf |
ARM, ARM64 | <intrin.h> |
Hinweise
Es gibt mehrere Varianten von _InterlockedIncrement
, die sich basierend auf den beinhalteten Datentypen und in Abhängigkeit davon unterscheiden, ob prozessorspezifische Semantiken zum Abrufen bzw. Freigeben verwendet werden.
Während die _InterlockedIncrement
-Funktion mit 32-Bit-Ganzzahlwerten arbeitet, verwendet _InterlockedIncrement16
16-Bit-Ganzzahlwerte und _InterlockedIncrement64
64-Bit-Ganzzahlwerte.
Verwenden Sie auf ARM-Plattformen die systeminternen Funktionen mit den Suffixen _acq
und _rel
, wenn Sie Semantiken zum Abrufen bzw. Freigeben benötigen, wie am Anfang und Ende eines kritischen Abschnitts. Das systeminterne _nf
Suffix ("kein Zaun") fungiert nicht als Speicherbarriere.
Die Variable, auf die der lpAddend
-Parameter zeigt, muss an einer 32-Bit-Grenze ausgerichtet sein; andernfalls schlägt diese Funktion auf x86-Multiprozessorsystemen und allen Nicht-x86-Systemen fehl. Weitere Informationen finden Sie unter "Ausrichten".
Die Win32-Funktion wird in Wdm.h
oder Ntddk.h
deklariert.
Diese Routinen sind nur als systeminterne Funktionen verfügbar.
Beispiel
Ein Beispiel für die Verwendung _InterlockedIncrement
finden Sie unter _InterlockedDecrement.
Siehe auch
Intrinsische Compilerfunktionen
Schlüsselwörter
Konflikt mit dem x86-Compiler