_InterlockedIncrement の組み込み関数

[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 Blank topics are included as placeholders.]

Microsoft 固有の仕様 →

Win32 Windows SDK InterlockedIncrement の関数にはコンパイラの組み込みサポートを提供します。

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

パラメーター

  • [入力、出力] lpAddend
    インクリメントする変数へのポインター。

戻り値

Windows 98Windows NT 4.0 以降 : 戻り値はインクリメントされた値です。

Windows 95Windows NT 3.51 以前のバージョン : 操作の結果がの場合戻り値はになります。 演算の結果は未満の場合戻り値は負になりますが必ずしも結果と同じです。 操作の結果がゼロより大きい場合戻り値は正の数ですが必ずしも結果と同じです。

必要条件

組み込み

アーキテクチャ

_InterlockedIncrement

x86IPFx64

_InterlockedIncrement_acq

IPF

_InterlockedIncrement_rel

IPF

_InterlockedIncrement16

x86IPFx64

_InterlockedIncrement16_acq

IPF

_InterlockedIncrement16_rel

IPF

_InterlockedIncrement64

はx64

_InterlockedIncrement64_acq

IPF

_InterlockedIncrement64_rel

IPF

ヘッダー ファイル <intrin.h>

解説

リリースではセマンティクス使用することが含まれるかおよびプロセッサ固有または取得したりデータ型に基づいて異なる _InterlockedIncrement にいくつかのバリエーションがあります。

_InterlockedIncrement の関数が 32 ビット整数値を操作しますが**_InterlockedIncrement16** は16 ビットの整数値を操作し**_InterlockedIncrement64** は64 ビットの整数値を操作します。

_InterlockedIncrement_acq _InterlockedIncrement16_acq_InterlockedIncrement64_acq の組み込み関数は _acq のサフィックスが操作の対応する関数が取得したりのセマンティクスを場合と同じです。クリティカル セクションに入るとき。

_InterlockedIncrement_rel _InterlockedIncrement16_rel_InterlockedIncrement64_rel の組み込み関数は _rel のサフィックスが操作の対応する関数を使用すると便利リリースのセマンティクスは同じです。クリティカル セクションを離れる場合。

lpAddend のパラメーターが指す変数は32 ビット境界上に配置する必要があります。; それ以外の場合この関数はマルチプロセッサ システムで x86 および非 x86 オペレーティング システム上で失敗します。

これらの関数は読み書き可能メモリ バリアとして機能します。 詳細については_ReadWriteBarrier を参照してください。

Win32 関数は Wdm.h または Ntddk.h で宣言されています。

これらのルーチンは組み込みとしてのみ使用できます。

使用例

_InterlockedIncrement を使用する方法の例については _InterlockedDecrement を参照してください。

参照

Reference

コンパイラ組み込み関数。

C++ キーワード

その他の技術情報

Conflicts with the x86 Compiler