_InterlockedIncrement
vnitřní funkce
Poskytněte vnitřní podporu kompilátoru pro funkci InterlockedIncrement sady Win32 Windows SDK. Vnitřní _InterlockedIncrement
funkce jsou specifické pro Microsoft.
Syntaxe
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
);
Parametry
lpAddend
[in, out] Ukazatel na proměnnou, která se má zvýšit.
Vrácená hodnota
Vrácená hodnota je výsledná inkrementovaná hodnota.
Požadavky
Vnitřní | Architektura | Hlavička |
---|---|---|
_InterlockedIncrement , _InterlockedIncrement16 |
x86, ARM, x64, ARM64 | <intrin.h> |
_InterlockedIncrement64 |
ARM, x64, ARM64 | <intrin.h> |
_InterlockedIncrement_acq , _InterlockedIncrement_rel , , _InterlockedIncrement16_acq _InterlockedIncrement16_nf _InterlockedIncrement64_acq _InterlockedIncrement_nf _InterlockedIncrement16_rel , , _InterlockedIncrement64_rel _InterlockedIncrement64_nf |
ARM, ARM64 | <intrin.h> |
Poznámky
Existuje několik variant _InterlockedIncrement
, které se liší v závislosti na datových typech, které zahrnují, a zda se používá sémantika specifická pro procesor nebo vydání.
_InterlockedIncrement
Zatímco funkce pracuje s 32bitovými celočíselnou hodnotou, _InterlockedIncrement16
pracuje s 16bitovými celočíselnou hodnotou a _InterlockedIncrement64
pracuje s 64bitovými celočíselnou hodnotou.
Na platformách ARM použijte vnitřní objekty s příponami _acq
_rel
, pokud potřebujete získat a uvolnit sémantiku, například na začátku a na konci kritické části. Vnitřní s příponou _nf
(bez plotu) nefunguje jako paměťová bariéra.
Proměnná odkazovaná parametrem lpAddend
musí být zarovnaná na 32bitové hranici. Jinak tato funkce selže u systémů x86 s více procesory a všech systémů, které nejsou x86. Další informace najdete v tématu zarovnání.
Funkce Win32 je deklarována v Wdm.h
nebo Ntddk.h
.
Tyto rutiny jsou k dispozici pouze jako vnitřní objekty.
Příklad
Ukázku použití _InterlockedIncrement
najdete v tématu _InterlockedDecrement.
Viz také
Vnitřní funkce kompilátoru
Klíčová slova
Konflikty s kompilátorem x86