InterlockedExchangeAdd 関数 (wdm.h)

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

構文

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

パラメーター

[in, out] Addend

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

[in] Value

Addend に追加する値を指定します。

戻り値

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

注釈

InterlockedExchangeAdd、ExInterlockedAddUlong の代わりに使用する必要があります。これは、高速で効率的であるためです。

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

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

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

要件

要件
サポートされている最小のクライアント Windows 2000 以降で使用できます。
対象プラットフォーム ユニバーサル
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h、Miniport.h を含む)
Library Windows 10の OneCoreUAP.lib
IRQL 任意のレベル

こちらもご覧ください

ExInterlockedAddLargeInteger

ExInterlockedAddUlong

InterlockedDecrement

InterlockedIncrement