Partager via


Ensemble de règles des règles minimales mixtes

Les règles minimum mixés de Microsoft couvrent les problèmes les plus critiques rencontrés dans vos projets C++ qui prennent en charge le Common Language Runtime, notamment les failles de sécurité potentielles et les blocages d'applications.Vous devez inclure cet ensemble de règles dans tout ensemble de règles personnalisé que vous créez pour vos projets C++ qui prennent en charge le Commun Language Runtime.

Règle

Description

C6001

Utilisation de d'une mémoire non initialisée.

C6011

Suppression de la référence du pointeur NULL.

C6029

Utilisation d'une valeur non verifiée.

C6053

Terminaison par zéro de l'appel

C6059

Mauvaise Concaténation

C6063

Argument String manquant pour formater la fonction

C6064

Argument Integer manquant pour formater la fonction

C6066

Argument Pointer manquant pour formater la fonction

C6067

Argument String Pointer manquant pour formater la fonction

C6101

Renvoi de la 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 le formatage de la fonction

C6274

Argument non character pour le formatage de la fonction

C6276

Transtypage de chaîne non valide

C6277

Appel CreateProcess non valide

C6284

Argument objet manquant 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 Character String invalide pour formater la fonction

C6303

Argument Character String Large invalide pour formater 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 du 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 peut pas avoir la valeur 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

C6507

Incompatibilité de Null de déférencement de zéro

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 mémoire tampon sur élément non pointeur

C6516

Pas de propriétés sur l'attribut

C6517

Taille valide dans mémoire tampon non lisible

C6518

Taille accessible en écriture dans mémoire tampon non accessible en écriture

C6519

Annotation non valide : la valeur de la propriété 'NeedsRelease' doit être définie à Yes ou No

C6521

Déférencement de String Size non valide

C6522

Type de String Size Invalid

C6523

Paramètre de taille de chaîne non valide

C6525

Chaîne de taille non valide. Emplacement inaccessible.

C6526

Taille du type de tampon de chaîne invalide

C6527

Annotation non valide : la propriété 'NeedsRelease' peut ne pas être utilisée dans des valeurs de type void

C6530

Style de chaîne de format non reconnu

C6540

L'utilisation d'annotations d'attribut sur cette fonction invalidera l'ensemble de ses annotations __declspec existantes

C6551

Spécification de taille non valide : l'expression n'est pas analysable

C6552

Deref= ou Notref= non valide : l'expression n'est pas analysable

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

Nombres d'arguments attendus pour l'annonation ne correspond pas au nombre actuels pour l'annonation

C6706

Erreur d'Annotation pour l'annotation inattendue

C28021

Le paramètre annoté doit être un pointeur.

C28182

Déréférencer le pointeur NULL.Le pointeur contient la même valeur NULL que contenait un autre pointeur.

C28202

Référence non autorisée au membre non statique.

C28203

Référence ambiguë au membre de classe.

C28205

_Success_ ou _On_failure_ utilisés 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 s'applique uniquement aux postconditions pour le parametre 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 la fonction, le paramètre de l'annotation ne correspond pas au nombre trouvé sur le fichier.

C28219

Membre de l'énumération attendu pour une annotation, le paramètre dans l'annotation

C28220

Expression d'entier attendue pour annotation du paramètre dans l'annotation

C28221

Expression de chaîne attendue pour le paramètre paramètre dans l'annotation

C28222

__yes, __no, ou __maybe attendus pour l'annotation

C28223

Jeton/identificateur attendu pour le paramètre de l'annotation

C28224

L'annotation requiert des paramètres.

C28225

N'a pas trouvé le nombre correcte de paramètres requis dans l'annotation

C28226

L'annotation ne peut pas être un PrimOp également (dans la déclaration actuelle).

C28227

L'annotation ne peut pas être un PrimOp également (voir la déclaration antérieure).

C28228

Annotation paramètre : le type ne peut pas être utilisé dans les annotations.

C28229

L'annotation ne prend pas en charge des paramètres.

C28230

Le type de paramètre n'a aucun 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 active

C28235

La fonction ne peut pas être une annotation autonome.

C28236

L'annotation ne peut pas être utilisée dans une expression.

C28237

L'annotation sur paramètre n'est plus prise en charge

C28238

L'annotation sur paramètre possède plusieurs value, stringValue, et longValue.Utiliser paramn = xxx

C28239

L'annotation sur paramètre possède à la fois value, stringValue, ou longValue ; et paramn=xxx. Utiliser uniquement paramn=xxx.

C28240

L'annotation sur paramètre possède param2 et non param1.

C28241

L'Annotation pour la fonction sur paramètre n'est pas reconnu.

C28243

L'annotation pour la fonction sur paramètre nécessite plus de déréférencements que ne l'autorise le type réel annoté.

C28245

L'annotation pour la fonction annote 'this' sur une fonction non membre.

C28246

Le paramètre d'annotation pour la fonction ne correspond pas au type du paramètre.

C28250

Annonation incohérent pour la function : l'instance précédente a une erreur.

C28251

Annotation incohérente pour la fonction : Cette instance a une erreur.

C28252

Annotation incohérente pour la fonction : parametre a une annotation sur cet instance

C28253

Annotation incohérente pour la fonction : parametre a une annotation sur cet 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'annonation intrinsèque

C28264

Les valeurs des listes de résultats doivent être des constantes.

C28267

Une erreur de syntaxe dans les annotations a été trouvée dans la fonction d'annotation.

C28272

L'annotation pour la fonction, paramètre lors de l'examen est incohérente avec la déclaration de la fonction.

C28273

Pour la fonction, les indices sont incohérentes avec la déclaration de la fonction.

C28275

Le paramètre de _Macro_value_ a la valeur null

C28279

Pour le symbole, un 'begin' a été trouvé sans 'end' correspondant

C28280

Pour le symbole, un 'end' a été trouvé sans 'begin' correspondant

C28282

Les chaînes de format doivent se trouver dans les conditions préalables

C28285

Pour la fonction, une erreur de syntaxe dans le paramètre

C28286

Pour la fonction, une erreur de syntax vers la fin

C28287

Pour la fonction erreur dans l'annotation _At_() (nom de paramètre non reconnu)

C28288

Pour la fonction, erreur 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 dela fonction.

C28302

Un opérateur supplémentaire _Deref_ a été trouvé sur l'annotation.

C28303

Un opérateur ambigu _Deref_ a été trouvé sur l'annotation.

C28304

Un opérateur _Notref_ placé de manière incorrecte a été trouvé appliqué au token.

C28305

Une erreur a été découverte lors de l'analyse du token.

C28350

L'annotation décrit une situation qui n'est pas applicable de manière conditionnelle.

C28351

L'annotation décrit lorsqu'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

Supprimer 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