C28112
警告的 C28112:通过一个互锁的功能捕获的变量必须传递一个互锁的函数始终获取
请参见行 数字:始终是不安全的访问 Interlocked* 传递函数族访问通过其他方式的变量。
访问利用这种互锁的 exec 使用一个方法,变量的支持实例,如 InterlockedCompareExchangeAcquire,后捕获。通过使用其他方法,但某些普通分配、访问和比较与 Interlocked* 实例使用的变量可以安全地访问,该风险足够大要检查每个实例。
示例
下面的代码示例生成此警告:
inter_var --;
...
InterlockedIncrement(&inter_var);
下面的代码示例避免此警告:
InterlockedDecrement(&inter_var);
...
InterlockedIncrement(&inter_var);