次の方法で共有


C28113

警告 C28113: インタロックされた関数によるローカル変数にアクセス

ドライバーはローカル変数にアクセスするには、インタロック管理のサポートのルーチンを使用 InterlockedDecrementします。

別の関数にローカル変数のアドレスを渡すと、ドライバーを有効にし、次にその変数を操作するには、インタロックされた関数を使用するがスタックがディスクに予期せずに入れ替えられない、変数で使用する可能性のあるすべてのスレッド間存続時間を確保正しいことを確認することが重要です。

使用例

通常、インタロック管理のサポートのルーチンの戻り値は、入力引数の代わりに次の計算で使用されます。また、インタロックされたルーチンは、最初 (左端の引数) のみを保護します。インタロックされたルーチンを使用して次の方法でグローバルの値を保護しておらず、頻繁にかないません。

InterlockedExchange(&local, global)

次のフォームがデータに同じ効果を紹介し、安全にグローバル変数にアクセスします。

local = InterllockedExchange(&global, global)