_InterlockedExchange の組み込み関数

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

Microsoft 固有の仕様 →

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

long _InterlockedExchange(
   long * Target,
   long Value
);
long _InterlockedExchange_acq(
   long * Target,
   long Value
);
__int64 _InterlockedExchange64(
   __int64 * Target,
   __int64 Value
);
__int64 _InterlockedExchange64_acq(
   __int64 * Target,
   __int64 Value
);

パラメーター

  • [入力、出力] Target
    交換する値へのポインター。 関数のセットを返します Value 前にこの変数の値。

  • [入力] Value
    値を交換する値は Target によってします。

戻り値

Target が指す初期値を返します。

必要条件

組み込み

アーキテクチャ

_InterlockedExchange

x86IPFx64

_InterlockedExchange_acq

IPF

_InterlockedExchange64

はx64

_InterlockedExchange64_acq

IPF

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

解説

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

_InterlockedExchange の関数が 32 ビット整数値を操作しますが**_InterlockedExchange64** は64 ビットの整数値を操作します。

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

を使用してセマンティクスを解放するとこの関数の各バージョンはありません。

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

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

使用例

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

参照

Reference

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

C++ キーワード

その他の技術情報

Conflicts with the x86 Compiler