_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.