次の方法で共有


InterlockedExchange 関数 (wdm.h)

InterlockedExchange ルーチンは、整数変数をアトミック操作として指定された値に設定します。

構文

LONG InterlockedExchange(
  [in, out] LONG volatile *Target,
  [in]      LONG          Value
);

パラメーター

[in, out] Target

指定された Value にアトミック操作として設定される変数へのポインター。

[in] Value

変数を設定する値を指定します。

戻り値

InterlockedExchange は、呼び出しが発生したときに Target で変数の値を返します。

注釈

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

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

InterlockedExchange ルーチンの呼び出しは、他の InterlockedXxx 呼び出しに対してのみアトミックです。

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

要件

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

こちらもご覧ください

ExInterlockedAddLargeInteger

ExInterlockedAddUlong

InterlockedDecrement

InterlockedIncrement