_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í _InterlockedIncrementnajdete v tématu _InterlockedDecrement.

Viz také

Vnitřní funkce kompilátoru
Klíčová slova
Konflikty s kompilátorem x86