Ensemble de règles des règles minimales mixtes
Les règles minimales mixtes de Microsoft se concentrent sur les problèmes les plus critiques des projets C++ qui prennent en charge le Common Language Runtime, notamment les failles de sécurité potentielles et les incidents d’application.
Incluez cet ensemble de règles dans n’importe quel ensemble de règles personnalisé que vous créez pour vos projets C++ qui prennent en charge le Common Language Runtime.
Règle | Description |
---|---|
C6001 | Utilisation d'une mémoire non initialisée |
C6011 | Déréférencement du pointeur Null |
C6029 | Utilisation d'une valeur non vérifiée |
C6053 | Terminaison par zéro de l'appel |
C6059 | Concaténation non valide |
C6063 | Argument de chaîne manquant pour le formatage de la fonction |
C6064 | Argument d’entier manquant pour le formatage de la fonction |
C6066 | Argument de pointeur manquant pour le formatage de la fonction |
C6067 | Argument de pointeur de chaîne manquant pour le formatage de la fonction |
C6101 | Retour d'une mémoire non initialisée |
C6200 | L'index dépasse la taille maximale autorisée par la mémoire tampon |
C6201 | L'index dépasse la taille maximale autorisée par la mémoire tampon allouée par la pile |
C6270 | Argument float manquant pour le formatage de la fonction |
C6271 | Argument supplémentaire pour le formatage de la fonction |
C6272 | Argument non float pour le formatage de la fonction |
C6273 | Argument non entier pour la fonction Format |
C6274 | Argument autre qu’un caractère pour le formatage de la fonction |
C6276 | Cast de chaîne non valide |
C6277 | Appel CreateProcess non valide |
C6284 | Argument d’objet non valide pour le formatage de la fonction |
C6290 | Priorité NOT logique et AND au niveau du bit |
C6291 | Priorité NOT logique et OR au niveau du bit |
C6302 | Argument de chaîne de caractères non valide pour le formatage de la fonction |
C6303 | Argument de chaîne de caractères larges non valide pour le formatage de la fonction |
C6305 | Incompatibilité entre la taille et la quantité |
C6306 | Appel de fonction d’argument de variable non valide |
C6328 | Incompatibilité de type d’argument possible |
C6385 | Dépassement en lecture |
C6386 | Dépassement en écriture |
C6387 | Valeur de paramètre non valide |
C6500 | Propriété d'attribut non valide |
C6501 | Valeurs de propriété d'attribut en conflit |
C6503 | Les références ne peuvent pas être Null |
C6504 | Null sur élément non pointeur |
C6505 | MustCheck sur Void |
C6506 | Taille de mémoire tampon sur élément non pointeur ou tableau |
C6508 | Accès en écriture sur constante |
C6509 | Retour utilisé sur condition préalable |
C6510 | Terminaison par Null sur élément non pointeur |
C6511 | MustCheck doit avoir la valeur Yes ou No |
C6513 | Taille d'élément sans taille de mémoire tampon |
C6514 | Taille de mémoire tampon dépasse la taille du tableau |
C6515 | Taille de la mémoire tampon sur élément non pointeur |
C6516 | Attribut sans propriété |
C6517 | Taille valide dans mémoire tampon non lisible |
C6518 | Taille accessible en écriture dans mémoire tampon non accessible en écriture |
C6522 | Type de chaîne de taille non valide |
C6525 | Chaîne de taille non valide. Emplacement inaccessible |
C6527 | Annotation non valide : la propriété NeedsRelease ne doit pas être utilisée sur des valeurs de type void |
C6530 | Style de chaîne de format non reconnu |
C6540 | L'utilisation des annotations d'attribut sur cette fonction rendra non valides toutes ses annotations __declspec existantes |
C6551 | Spécification de taille non valide : expression impossible à analyser |
C6552 | Deref= ou Noref= non valide : expression impossible à analyser |
C6701 | La valeur n'est pas une valeur Yes/No/Maybe valide |
C6702 | La valeur n'est pas une valeur de chaîne |
C6703 | La valeur n'est pas un nombre |
C6704 | Erreur d'expression de l'annotation inattendue |
C6705 | Le nombre d’arguments attendu pour l’annotation ne correspond pas au nombre réel d’arguments pour l’annotation |
C6706 | Erreur d'annotation inattendue pour l'annotation |
C28021 | Le paramètre annoté doit être un pointeur |
C28182 | Déréférencement du pointeur NULL. Le pointeur contient la même valeur NULL qu'un autre pointeur. |
C28202 | Référence non autorisée à un membre non statique |
C28203 | Référence ambiguë à un membre de classe. |
C28205 | _Success_ ou _On_failure_ utilisé dans un contexte non autorisé |
C28206 | L’opérande de gauche pointe vers un struct, utiliser « -> » |
C28207 | L’opérande de gauche est un struct, utiliser '.' |
C28210 | Les annotations pour le contexte __on_failure ne doivent pas se trouver dans un contexte préalable explicite |
C28211 | Nom du contexte statique attendu pour SAL_context |
C28212 | Expression de pointeur attendue pour l'annotation |
C28213 | L'annotation _Use_decl_annotations_ doit être utilisée pour référencer, sans modification, une déclaration antérieure. |
C28214 | Les noms des paramètres d'attribut doivent être p1...p9 |
C28215 | Le typefix ne peut pas être appliqué à un paramètre qui contient déjà un typefix |
C28216 | L'annotation checkReturn ne s'applique qu'aux post-conditions pour le paramètre de fonction spécifique. |
C28217 | Pour la fonction, le nombre de paramètres de l'annotation ne correspond pas au nombre trouvé dans le fichier |
C28218 | Pour le paramètre de fonction, le paramètre de l’annotation ne correspond pas au paramètre trouvé dans le fichier |
C28219 | Membre de l'énumération attendu pour une annotation, le paramètre dans l'annotation |
C28220 | Expression d'entier attendue pour une annotation, le paramètre dans l'annotation |
C28221 | Expression de chaîne attendue pour le paramètre dans l'annotation |
C28222 | __yes, __no ou __maybe attendus pour l'annotation |
C28223 | Jeton/identificateur introuvable pour l'annotation, paramètre |
C28224 | L'annotation requiert des paramètres |
C28225 | Nombre correct de paramètres requis introuvable dans l'annotation |
C28226 | L'annotation ne peut pas être également un PrimOp (dans la déclaration actuelle) |
C28227 | L'annotation ne peut pas être également un PrimOp (voir la déclaration antérieure) |
C28228 | Paramètre d'annotation : impossible d'utiliser ce type dans les annotations |
C28229 | L'annotation ne prend pas en charge les paramètres |
C28230 | Le type de paramètre ne contient pas de membre. |
C28231 | L'annotation n'est valide que sur un tableau |
C28232 | pre, post, ou deref ne sont appliqués à aucune annotation |
C28233 | pre, post ou deref sont appliqués à un bloc |
C28234 | l'expression __at ne s'applique pas à la fonction actuelle |
C28235 | La fonction ne peut pas constituer à elle seule une annotation |
C28236 | L'annotation ne peut pas être utilisée dans une expression |
C28237 | L'annotation sur le paramètre n'est plus prise en charge |
C28238 | Plusieurs value, stringValue et longValue sont définies dans l'annotation sur le paramètre. Utiliser paramn=xxx |
C28239 | value, stringValue ou longValue, et paramn=xxx sont définis en même temps dans l'annotation sur le paramètre. Utiliser uniquement paramn=xxx |
C28240 | L'annotation sur le paramètre possède un param2, mais pas de param1 |
C28241 | L'annotation pour la fonction sur le paramètre n'est pas reconnue |
C28243 | L’annotation pour la fonction sur le paramètre nécessite plus de déréférencements que le type réel annoté ne le permet. |
C28245 | L’annotation pour la fonction annote ’this’ sur une fonction non membre |
C28246 | L'annotation du paramètre ne correspond pas au type du paramètre |
C28250 | Annotation incohérente pour une fonction : l'instance précédente contient une erreur. |
C28251 | Annotation incohérente pour une fonction : cette instance contient une erreur. |
C28252 | Annotation incohérente pour une fonction : le paramètre contient d'autres annotations sur cette instance. |
C28253 | Annotation incohérente pour une fonction : le paramètre contient d'autres annotations sur cette instance. |
C28254 | dynamic_cast<>() n’est pas pris en charge dans les annotations |
C28262 | Une erreur de syntaxe dans l'annotation a été trouvée dans la fonction, pour l'annotation |
C28263 | Une erreur de syntaxe dans une annotation conditionnelle a été trouvée pour l'annotation intrinsèque |
C28267 | Une erreur de syntaxe dans les annotations a été trouvée pour l'annotation dans la fonction. |
C28272 | L'annotation pour la fonction, paramètre pendant la vérification est incohérente avec la déclaration de fonction |
C28273 | Pour la fonction, les indices sont incohérents avec la déclaration de fonction |
C28275 | Le paramètre de _Macro_value_ a la valeur null |
C28279 | Pour le symbole, un 'begin' a été trouvé sans le 'end' correspondant |
C28280 | Pour le symbole, un 'end' a été trouvé sans le 'begin' correspondant |
C28282 | Les chaînes de format doivent être comprises dans des conditions préalables |
C28285 | Pour la fonction, erreur de syntaxe dans le paramètre |
C28286 | Pour la fonction, erreur de syntaxe près de la fin |
C28287 | Pour la fonction, erreur de syntaxe dans l'annotation _At_() (nom de paramètre non reconnu) |
C28288 | Pour la fonction, erreur de syntaxe dans l'annotation _At_() (nom de paramètre non valide) |
C28289 | Pour la fonction : ReadableTo ou WritableTo n'a pas eu de spécification de limites en tant que paramètre |
C28290 | l'annotation pour la fonction contient plus d'Externals que le nombre réel de paramètres |
C28291 | post null/notnull au niveau 0 deref n'a pas de sens pour la fonction. |
C28300 | Opérandes d’expression de types incompatibles pour l’opérateur |
C28301 | Aucune annotation pour la première déclaration de la fonction. |
C28302 | Un opérateur extra _Deref_ a été trouvé dans une annotation. |
C28303 | Un opérateur _Deref_ ambigu a été trouvé dans une annotation. |
C28304 | Un opérateur _Notref_ placé de manière incorrecte et appliqué à un jeton a été trouvé. |
C28305 | Une erreur a été détectée pendant l'analyse d'un jeton. |
C28350 | L'annotation décrit une situation qui n'est pas applicable de manière conditionnelle. |
C28351 | L'annotation décrit l'emplacement auquel une valeur dynamique (une variable) ne peut pas être utilisée dans la condition. |
CA1001 | Les types qui possèdent des champs supprimables doivent être supprimables |
CA1821 | Supprimez les finaliseurs vides |
CA2213 | Les champs pouvant être supprimés doivent l’être |
CA2231 | Surchargez l’opérateur égal (equals) en remplaçant ValueType.Equals |
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