Partager via


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