Share via


InterlockedXor64 関数 (winnt.h)

指定した LONGLONG 値に対してアトミック XOR 操作を実行します。 関数は、複数のスレッドが同じ変数を同時に使用できないようにします。

構文

LONG64 InterlockedXor64(
  [in, out] LONG64 volatile *Destination,
  [in]      LONG64          Value
);

パラメーター

[in, out] Destination

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

[in] Value

2 番目のオペランド。

戻り値

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

解説

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

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

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

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

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

要件

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

関連項目

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

InterlockedXor

InterlockedXor16

InterlockedXor16Acquire

InterlockedXor16NoFence

InterlockedXor16Release

InterlockedXor64Acquire

InterlockedXor64NoFence

InterlockedXor64Release

InterlockedXor8

InterlockedXor8Acquire

InterlockedXor8NoFence

InterlockedXor8Release

InterlockedXorAcquire

InterlockedXorNoFence

InterlockedXorRelease

同期関数