次の方法で共有


InterlockedIncrement16 関数 (winnt.h)

指定した 16 ビット変数の値をアトミック操作としてインクリメント (1 ずつ増加) します。

32 ビット値を操作するには、 InterlockedIncrement 関数を使用します。

64 ビット値を操作するには、 InterlockedIncrement64 関数を使用します。

構文

SHORT InterlockedIncrement16(
  [in, out] SHORT volatile *Addend
);

パラメーター

[in, out] Addend

インクリメントする変数へのポインター。

戻り値

関数は、結果としてインクリメントされた値を返します。

解説

Addend パラメーターが指す変数は、16 ビット境界に配置する必要があります。それ以外の場合、この関数はマルチプロセッサ x86 システムおよび x86 以外のシステムで予期しない動作をします。 「_aligned_malloc」を参照してください。

インターロック関数は、複数のスレッドによって共有される変数へのアクセスを同期するための簡単なメカニズムを提供します。 この関数は、他のインターロックされた関数の呼び出しに関してアトミックです。

この関数は、可能な限りコンパイラ組み込みを使用して実装されます。 詳細については、WinBase.h ヘッダー ファイルと _InterlockedIncrement16を参照してください。

この関数は、メモリ操作が順番に完了するように、完全なメモリ バリア (またはフェンス) を生成します。

メモ この関数は、Windows RT ベースのシステムでサポートされています。
 

要件

   
サポートされている最小のクライアント Windows 8 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2012 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winnt.h (Windows.h を含む)

関連項目

インタロックされた変数アクセス

InterlockedDecrement

InterlockedIncrement

InterlockedIncrement16Acquire

InterlockedIncrement16NoFence

InterlockedIncrement16Release

InterlockedIncrement64

InterlockedIncrementAcquire

InterlockedIncrementAcquire64

InterlockedIncrementNoFence

InterlockedIncrementNoFence64

InterlockedIncrementRelease

InterlockedIncrementRelease64

同期関数