InterlockedExchange 関数 (ミニポート.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 | miniport.h (Wdm.h、Ntddk.h、Ntifs.h、Miniport.h を含む) |
Library | Windows 10の OneCoreUAP.lib |
IRQL | 任意のレベル |