Avertissement C28112
Une variable (nom de paramètre) accessible via une fonction interblocée doit toujours être accessible via une fonction interblocée. Voir le numéro de ligne : il n’est pas toujours sûr d’accéder à une variable accessible via la famille interlocked* de fonctions d’une autre manière.
Une variable accessible à l’aide des routines de support interlocked executive, telles qu’InterlockedCompareExchangeAcquire, est plus tard accessible à l’aide d’une autre fonction.
Notes
InterlockedXxx
les fonctions sont destinées à fournir des opérations atomiques, mais sont uniquement atomiques par rapport à d’autres InterlockedXxx
fonctions. Bien que certaines affectations, accès et comparaisons ordinaires aux variables utilisées par les routines Interlocked* soient accessibles en toute sécurité à l’aide d’une fonction différente, le risque est suffisant pour justifier l’examen de chaque instance.
Nom de l’analyse du code : INTERLOCKED_ACCESS
Exemple
Le code suivant génère cet avertissement :
inter_var--;
//code
InterlockedIncrement(&inter_var);
Le code suivant corrige cet avertissement en accédant strictement par le biais InterlockedXxx
de inter_var
fonctions :
InterlockedDecrement(&inter_var);
//code
InterlockedIncrement(&inter_var);
Voir aussi
InterlockedIncrement, fonction (wdm.h)
InterlockedDecrement, fonction (wdm.h)
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour