Sdílet prostřednictvím


_InterlockedIncrement vnitřní funkce

Specifické pro Microsoft

Provide compiler intrinsic support for the Win32 Windows SDK InterlockedIncrement function.

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

Parametry

  • [ve out]lpAddend
    Ukazatel na proměnnou se zvýší.

Vrácená hodnota

Vrácená hodnota je výsledná zvýšená hodnota.

Požadavky

Vnitřní

Architektura

Záhlaví

_InterlockedIncrement, _InterlockedIncrement16, _InterlockedIncrement64

x 86, ARM,x64

< intrin.h >

_InterlockedIncrement_acq, _InterlockedIncrement_rel, _InterlockedIncrement_nf, _InterlockedIncrement16_acq, _InterlockedIncrement16_rel, _InterlockedIncrement16_nf, _InterlockedIncrement64_acq, _InterlockedIncrement64_rel, _InterlockedIncrement64_nf

ARM

< intrin.h >

Poznámky

Existuje několik variant na _InterlockedIncrement , lišit v závislosti na datové typy, zahrnují a zda získat specifické procesory nebo slouží k uvolnění sémantiku.

Při _InterlockedIncrement funkce se používá pro 32bitové celočíselné hodnoty _InterlockedIncrement16 pracuje na 16bitové celočíselné hodnoty a _InterlockedIncrement64 pracuje na 64bitové celočíselné hodnoty.

Na platformách ARM, použijte vnitřní objekty s _acq a _rel přípony, pokud potřebujete získat a verze sémantiku, například na začátku a na konci kritické sekce.Vnitřní s _nf příponu ("žádné ohraničení") není fungovat jako překážku paměti.

Proměnné na kterou odkazuje lpAddend parametr musí být zarovnán na hranici 32-bit; jinak tato funkce se nezdaří na více procesorů x 86 a všechny systémy x 86.Další informace naleznete v tématu zarovnat.

Funkce Win32 je deklarován v Wdm.h nebo Ntddk.h.

Tyto rutiny jsou pouze k dispozici jako vnitřní objekty.

Příklad

Příklad použití _InterlockedIncrement, naleznete v části _InterlockedDecrement.

Viz také

Referenční dokumentace

Vnitřní funkce kompilátoru

Klíčová slova jazyka C++

Konflikty s překladačem x86