Compartilhar via


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);