C28112
avertissement C28112 : Une variable accessible via une fonction Interlocked doit toujours être accessible via une fonction Interlocked
Consultez la ligne number : Il n'est pas toujours sûr d'accéder à une variable qui est atteinte via la famille des fonctions interverrouillées* de n'importe quelle autre manière.
Une variable qui est atteinte à l'aide des routines exécutives de support interverrouillées, telles que InterlockedCompareExchangeAcquire, est ultérieurement atteinte à l'aide d'une méthode différente. Bien que certains accès, assignations, et comparaisons ordinaires aux variables utilisées par les routines interverrouillées* puissent être atteintes sans risque à l'aide d'une méthode différente, le risque est assez grand pour justifier l'examen de chaque instance.
Exemple
L'exemple de code suivant génère cet avertissement :
inter_var --;
...
InterlockedIncrement(&inter_var);
L'exemple de code suivant permet d'éviter cet avertissement :
InterlockedDecrement(&inter_var);
...
InterlockedIncrement(&inter_var);