C28112

警告的 C28112:通过一个互锁的功能捕获的变量必须传递一个互锁的函数始终获取

请参见行 数字:始终是不安全的访问 Interlocked* 传递函数族访问通过其他方式的变量。

访问利用这种互锁的 exec 使用一个方法,变量的支持实例,如 InterlockedCompareExchangeAcquire,后捕获。通过使用其他方法,但某些普通分配、访问和比较与 Interlocked* 实例使用的变量可以安全地访问,该风险足够大要检查每个实例。

示例

下面的代码示例生成此警告:

inter_var --;
...
InterlockedIncrement(&inter_var);

下面的代码示例避免此警告:

InterlockedDecrement(&inter_var);
...
InterlockedIncrement(&inter_var);