次の方法で共有


InterlockedExchangeAdd 関数 (ミニポート.h)

InterlockedExchangeAdd ルーチンは、アトミック操作として特定の整数に値を追加し、指定された整数の元の値を返します。

構文

LONG InterlockedExchangeAdd(
  [in, out] LONG volatile *Addend,
  [in]      LONG          Value
);

パラメーター

[in, out] Addend

整数変数へのポインター。

[in] Value

addend に追加する値指定します。

戻り値

InterlockedExchangeAdd は、呼び出しが発生したときに、Addend 変数の元の値を返します。

備考

ExInterlockedAddUlong ではなく、InterlockedExchangeAdd を使用する必要があります。これは、高速かつ効率的であるためです。

InterlockedExchangeAdd は、必要に応じてコンパイラによってインラインで実装されます。 スピン ロックは必要ないため、ページング可能なデータで安全に使用できます。

InterlockedExchangeAdd は、他の InterlockedXxx 呼び出しに関してのみアトミックです。

キャッシュされていないメモリでは、インターロックされた操作を使用できません。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 以降で使用できます。
ターゲット プラットフォーム 万国
ヘッダー ミニポート.h (Wdm.h、Ntddk.h、Ntifs.h、ミニポート h を含む)
ライブラリ Windows 10 の OneCoreUAP.lib
IRQL 任意のレベル

関連項目

ExInterlockedAddLargeInteger

ExInterlockedAddUlong する

InterlockedDecrement

InterlockedIncrement