C28112
aviso C28112: Uma variável que é acessada através de uma função sincronizada deve sempre ser acessada através de uma função sincronizada
Consulte a linha number: Nem sempre é seguro acessar uma variável que é acessado por meio da família de Interlocked* funções em qualquer outra forma.
Uma variável que é acessado usando as rotinas executivas bloqueadas de suporte, como InterlockedCompareExchangeAcquire, é acessado posteriormente usando um método diferente. Embora as atribuições determinados, e, e comparações comuns com as variáveis que são usados por rotinas de Interlocked* com segurança podem ser acessados usando um método diferente, o risco é grande o suficiente para justificar revise cada instância.
Exemplo
O exemplo de código gerenciado esse aviso:
inter_var --;
...
InterlockedIncrement(&inter_var);
O exemplo de código a seguir evita esse aviso:
InterlockedDecrement(&inter_var);
...
InterlockedIncrement(&inter_var);