次の方法で共有


InterlockedAnd 関数 (winnt.h)

指定した LONG 値に対してアトミック AND 演算を実行します。

構文

LONG InterlockedAnd(
  [in, out] LONG volatile *Destination,
  [in]      LONG          Value
);

パラメーター

[in, out] Destination

最初のオペランドへのポインター。 この値は、操作の結果に置き換えられます。

[in] Value

2 番目のオペランド。

戻り値

関数は Destination パラメーターの元の値を返します。

注釈

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

Intel Itanium ベースのシステムと x64 アーキテクチャの場合、この関数はコンパイラ組み込みを使用して実装されます。 x86 アーキテクチャの場合は、 _InterlockedAnd コンパイラ組み込みを直接使用します。

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

Itanium ベースのシステム: パフォーマンスが重要なアプリケーションの場合は、代わりに InterlockedAndAcquire または InterlockedAndRelease を使用してください。

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

要件

要件
対象プラットフォーム Windows
ヘッダー winnt.h (Windows.h を含む)

こちらもご覧ください

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

InterlockedAnd16

InterlockedAnd16Acquire

InterlockedAnd16NoFence

InterlockedAnd16Release

InterlockedAnd64

InterlockedAnd64Acquire

InterlockedAnd64NoFence

InterlockedAnd64Release

InterlockedAnd8

InterlockedAnd8Acquire

InterlockedAnd8NoFence

InterlockedAnd8Release

InterlockedAndAcquire

InterlockedAndNoFence

InterlockedAndRelease

同期関数