Partager via


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