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 を する