警告 C28112
Interlocked 関数を介してアクセスされる変数 (パラメーター名) は、常に Interlocked 関数を介してアクセスする必要があります。 行 番号を参照してください。他の方法で Interlocked* 関数ファミリを介してアクセスされる変数にアクセスすることは、常に安全であるとは限りません。
InterlockedCompareExchangeAcquire などの Interlocked エグゼクティブ サポート ルーチンを使用してアクセスされる変数には、後で別の関数を使用してアクセスします。
解説
InterlockedXxx
関数はアトミック操作を提供することを目的としていますが、他 InterlockedXxx
の関数に関してはアトミックです。 Interlocked* ルーチンで使用される変数に対する特定の通常の代入、アクセス、比較には、別の関数を使用して安全にアクセスできますが、各インスタンスの調査に見合うほどの大きなリスクがあります。
コード分析名: INTERLOCKED_ACCESS
例
この警告が発生するコード例を次に示します。
inter_var--;
//code
InterlockedIncrement(&inter_var);
次のコードは、関数を通じてInterlockedXxx
厳密にアクセスすることで、この警告をinter_var
修正します。
InterlockedDecrement(&inter_var);
//code
InterlockedIncrement(&inter_var);
参照
InterlockedIncrement 関数 (wdm.h)
InterlockedDecrement 関数 (wdm.h)
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示