Regelsatz für systemeigene empfohlene Regeln
Dies nativen empfohlenen Regeln zielen auf die kritischsten und häufigsten Probleme im nativen Code ab, einschließlich potenzieller Sicherheitslücken und Anwendungsabstürze. Dieser Regelsatz enthält alle Regeln im Regelsatz Native Mindestregeln.
Schließen Sie diesen Regelsatz in alle benutzerdefinierten Regelsätze ein, die Sie für native Projekte erstellen.
Regel | BESCHREIBUNG |
---|---|
C6001 | Nicht initialisierter Speicher wird verwendet |
C6011 | Dereferenzierender NULL-Zeiger |
C6029 | Verwendung von ungeprüftem Wert |
C6031 | Rückgabewert wird ignoriert. |
C6053 | 0 (null)-Abbruch des Aufrufs |
C6054 | Nullterminierung fehlt. |
C6059 | Fehlerhafte Verkettung |
C6063 | Fehlendes Zeichenfolgenargument für Formatfunktion |
C6064 | Fehlendes Ganzzahlargument für Formatfunktion |
C6066 | Fehlendes Zeigerargument für Formatfunktion |
C6067 | Fehlendes Zeichenfolgenzeigerargument für Formatfunktion |
C6101 | Rückgabe von nicht initialisiertem Speicher |
C6200 | Index überschreitet maximale Puffergröße |
C6201 | Index überschreitet maximale Puffergröße |
C6214 | Ungültige Umwandlung von HRESULT in BOOL |
C6215 | Ungültige Umwandlung von BOOL in HRESULT |
C6216 | Ungültige vom Compiler eingefügte Umwandlung von BOOL in HRESULT |
C6217 | Ungültiger HRESULT-Test mit NOT |
C6220 | Ungültiger HRESULT-Vergleich mit -1 |
C6226 | Ungültige HRESULT-Zuweisung zu -1 |
C6230 | Ungültige HRESULT-Verwendung als boolescher Wert |
C6235 | Konstante ungleich Null mit logischem OR-Operator |
C6236 | Logischer OR-Operator mit Konstante ungleich Null |
C6237 | Null mit logischem AND-Operator verliert Nebeneffekte |
C6242 | Lokale Entladung erzwungen |
C6248 | Erstelle NULL-DACL |
C6250 | Nicht freigegebene Adressdeskriptoren |
C6255 | Ungeschützte Verwendung von Alloca |
C6258 | Verwenden des Terminate-Threads |
C6259 | Toter Code in bitweisem OR-Operator mit beschränktem Parameter |
C6260 | Verwendung von Bytearithmetik |
C6262 | Übermäßige Stapelnutzung |
C6263 | Verwendung von Alloca in einer Schleife |
C6268 | Fehlende Klammern in Umwandlung |
C6269 | Zeigerdereferenzierung ignoriert |
C6270 | Fehlendes Gleitkommaargument für Formatfunktion |
C6271 | Zusätzliches Argument für Formatfunktion |
C6272 | Nicht-Gleitkommaargument für Formatfunktion |
C6273 | Nicht-Ganzzahlargument für Formatfunktion |
C6274 | Nicht-Zeichenargument für Formatfunktion |
C6276 | Ungültige Zeichenfolgenumwandlung |
C6277 | Ungültiger CreateProcess-Aufruf |
C6278 | Keine Übereinstimmung zwischen „New“-Arrayoperator und „Delete“-Skalaroperator |
C6279 | Keine Übereinstimmung zwischen „New“-Skalaroperator und „Delete“-Arrayoperator |
C6280 | Keine Übereinstimmung zwischen Speicherbelegung und Belegungsfreigabe |
C6281 | Bitweiser Relationsvorrang |
C6282 | Zuweisung ersetzt Test |
C6283 | Keine Übereinstimmung zwischen primitivem „New“-Arrayoperator und „Delete“-Skalaroperator |
C6284 | Ungültiges Objekt-Argument für Formatfunktion |
C6285 | Logischer OR-Operator von Konstanten |
C6286 | Logischer OR-Operator ungleich Null verliert Nebeneffekte |
C6287 | Redundanter Test |
C6288 | Gegenseitige Inklusion über logischem AND-Operator ist „False“ |
C6289 | Gegenseitige Exklusion über logischem OR-Operator ist „True“ |
C6290 | Logischer NOT-Operator hat Vorrang gegenüber bitweisem AND-Operator |
C6291 | Logischer NOT-Operator hat Vorrang gegenüber bitweisem OR-Operator |
C6292 | Schleife zählt vom Maximum nach oben |
C6293 | Schleife zählt vom Minimum nach unten |
C6294 | Schleifenkörper nie ausgeführt |
C6295 | Endlosschleife |
C6296 | Schleife nur einmal ausgeführt |
C6297 | Ergebnis der „Shift“-Umwandlung (Vergrößerung) |
C6299 | Vergleich Bitfeld mit booleschem Wert |
C6302 | Ungültiges Zeichenfolgenargument für Formatfunktion |
C6303 | Ungültiges Zeichenfolgenargument für breite Zeichen zu Formatfunktion |
C6305 | Keine Übereinstimmung bei Größe und Count-Verwendung |
C6306 | Falscher Variablenargument-Funktionsaufruf |
C6308 | Verlust neu zuweisen |
C6310 | Unzulässige Ausnahmefilterkonstante |
C6312 | Ausnahme Ausführungsschleife fortsetzen |
C6314 | Bitweiser OR-Vorrang |
C6317 | Nicht NOT-Komplement |
C6318 | Ausnahme Suche fortsetzen |
C6319 | Durch Komma ignoriert |
C6324 | Zeichenfolge kopieren statt Zeichenfolge vergleichen |
C6328 | Möglicher Argumenttypenkonflikt |
C6331 | Ungültige VirtualFree Flags |
C6332 | Ungültiger VirtualFree-Parameter |
C6333 | Ungültige VirtualFree-Größe |
C6335 | Verlust in Prozesshandle |
C6381 | Informationen zum Herunterfahren fehlen |
C6383 | Element-Anzahl Byte-Anzahl Pufferüberlauf |
C6384 | Zeigergrößen-Division |
C6385 | Leseüberlauf |
C6386 | Schreibüberlauf |
C6387 | Ungültiger Parameterwert |
C6388 | Ungültiger Parameterwert |
C6500 | Ungültige Attributeigenschaft |
C6501 | In Konflikt stehende Attributeigenschaftswerte |
C6503 | Verweise dürfen nicht NULL sein. |
C6504 | NULL auf Nichtzeiger |
C6505 | MustCheck für "void" |
C6506 | Puffergröße auf Nichtzeiger oder Array |
C6508 | Schreibzugriff auf Konstante |
C6509 | Rückgabe wurde für Vorbedingung verwendet |
C6510 | NULL für Nichtzeiger abgebrochen |
C6511 | MustCheck Muss "Ja" oder "Nein" lauten |
C6513 | Elementgröße ohne Puffergröße |
C6514 | Puffergröße übersteigt Arraygröße |
C6515 | Puffergröße auf Nichtzeiger |
C6516 | Keine Eigenschaften für Attribut |
C6517 | Zulässige Größe für nicht lesbaren Puffer |
C6518 | Schreibbare Größe für Puffer, der nicht geschrieben werden kann |
C6522 | Ungültiger Größenzeichenfolgentyp |
C6525 | Ungültiger Größenzeichenfolgenstandort |
C6527 | Ungültige Anmerkung: Die 'NeedsRelease'-Eigenschaft kann nicht für Werte des void-Typs verwendet werden. |
C6530 | Unbekannter Formatzeichenfolgenstil |
C6540 | Bei Verwendung von Attributanmerkungen für diese Funktion werden alle vorhandenen, zugehörigen __declspec-Anmerkungen ungültig |
C6551 | Ungültige Größenangabe: Ausdruck nicht analysierbar |
C6552 | Ungültiger Deref= oder Notref=: Ausdruck nicht analysierbar |
C6701 | Der Wert ist kein gültiger Yes/No/Maybe-Wert |
C6702 | Der Wert ist kein Zeichenfolgenwert |
C6703 | Der Wert ist keine Zahl |
C6704 | Unerwarteter Ausdrucksfehler der Anmerkung |
C6705 | Erwartete Anzahl von Argumenten für die Anmerkung stimmt nicht mit tatsächlicher Anzahl von Argumenten für die Anmerkung überein |
C6706 | Unerwarteter Anmerkungsfehler für Anmerkung |
C6995 | Fehler beim Speichern der XML-Protokolldatei. |
C26100 | Racebedingung |
C26101 | Fehler bei der ordnungsgemäßen Verwendung des Interlocked-Vorgangs. |
C26110 | Fehler des Aufrufers beim Aufrechterhalten der Sperre. |
C26111 | Fehler des Aufrufers beim Lösen der Sperre. |
C26112 | Aufrufer kann keine Sperre aufrechterhalten. |
C26115 | Fehler beim Lösen der Sperre. |
C26116 | Fehler beim Einrichten oder Aufrechterhalten der Sperre. |
C26117 | Nicht aufrechterhaltene Sperre wird gelöst. |
C26140 | Nebenläufigkeitsfehler bei SAL-Anmerkung. |
C26441 | NO_UNNAMED_GUARDS |
C26444 | NO_UNNAMED_RAII_OBJECTS |
C26498 | USE_CONSTEXPR_FOR_FUNCTIONCALL |
C28020 | Der Ausdruck ist bei diesem Aufruf nicht „True“. |
C28021 | Der Parameter, der mit Anmerkungen versehen ist, muss ein Zeiger sein. |
C28022 | Die Funktionsklasse(n) in dieser Funktion stimmt/stimmen nicht mit der/den Funktionsklasse(n) in der Typendefinition überein, die zu deren Definition verwendet wird. |
C28023 | Die zuzuweisende bzw. zu übergebene Funktion sollte über eine _Function_class_-Anmerkung für mindestens eine der Klassen verfügen in |
C28024 | Der zuzuweisende Funktionszeiger wurde mit der Funktionsklasse versehen, die nicht in der Liste der Funktionsklassen enthalten ist. |
C28039 | Der Typ des tatsächlichen Parameters sollte genau dem Typ entsprechen. |
C28112 | Der Zugriff auf eine Variable, auf die über eine Interlocked-Funktion zugegriffen wird, muss immer über eine Interlocked-Funktion erfolgen. |
C28113 | Zugreifen auf eine lokale Variable über eine Interlocked-Funktion. |
C28125 | Die Funktion muss innerhalb eines „try/except“-Blocks aufgerufen werden. |
C28137 | Das Variablenargument sollte stattdessen eine (Literal-)Konstante sein. |
C28138 | Das Konstantenargument sollte stattdessen eine Variable sein. |
C28159 | Verwenden Sie stattdessen ggf. eine andere Funktion. |
C28160 | Fehleranmerkung |
C28163 | Die Funktion sollte niemals innerhalb eines „try/except“-Blocks aufgerufen werden. |
C28164 | Das Argument wird an eine Funktion übergeben, die einen Zeiger auf ein Objekt erwartet (nicht einen Zeiger auf einen Zeiger). |
C28182 | Dereferenzierender NULL-Zeiger. Der Zeit enthält denselben NULL-Wert wie ein anderer Zeiger. |
C28183 | Das Argument könnte ein Wert sein und ist eine Kopie des im Zeiger enthaltenen Werts. |
C28193 | Die Variable enthält einen Wert, der überprüft werden muss. |
C28196 | Die Anforderung ist nicht erfüllt. (Der Ausdruck wird nicht mit "True" ausgewertet.) |
C28202 | Illegaler Verweis auf nicht statischen Member |
C28203 | Mehrdeutiger Verweis auf Klassenmember. |
C28205 | _Success_ or _On_failure_ wurde in einem illegalen Kontext verwendet. |
C28206 | Der linke Operand zeigt auf eine Struktur, verwenden Sie „->“. |
C28207 | „.“ verwenden, wenn linker Operand eine Struktur ist |
C28209 | Die Deklaration für das Symbol weist einen Konflikt auf. |
C28210 | Anmerkungen für den _On_failure_-Kontext dürfen sich nicht im expliziten Vorkontext befinden. |
C28211 | Statischer Kontextname für SAL_context erwartet |
C28212 | Zeigerausdruck für Anmerkung erwartet |
C28213 | Die _Use_decl_annotations_-Anmerkung muss ohne Änderung zum Verweisen auf eine vorherige Deklaration verwendet werden. |
C28214 | Attributparameternamen müssen p1...p9 sein. |
C28215 | Der Typefix kann nicht auf einen Parameter angewendet werden, der bereits über einen Typefix verfügt. |
C28216 | Die checkReturn-Anmerkung gilt nur für Nachbedingungen für den bestimmten Funktionsparameter. |
C28217 | Für die Funktion stimmt die Anzahl der Parameter für die Anmerkung nicht mit der in der Datei gefundenen überein |
C28218 | Für den Funktionsparameter stimmt der Parameter der Anwendung nicht mit dem in der Datei gefundenen überein. |
C28219 | Member von Enumeration für den Parameter in der Anmerkung erwartet |
C28220 | Für den Parameter in der Anmerkung erwarteter Ganzzahlausdruck |
C28221 | Für den Parameter in der Anmerkung erwarteter Zeichenfolgeausdruck |
C28222 | __yes, __no oder __maybe für die Anmerkung erwartet |
C28223 | Erwartetes Token/Bezeichner für Anmerkung, Parameter nicht gefunden |
C28224 | Anmerkung erfordert Parameter |
C28225 | Korrekte Anzahl erforderlicher Parameter konnten in Anmerkung nicht gefunden werden |
C28226 | Anmerkung kann nicht zusätzlich ein PrimOp sein (in der aktuellen Deklaration). |
C28227 | Anmerkung kann nicht zusätzlich ein PrimOp sein (siehe vorherige Deklaration). |
C28228 | Anmerkungsparameter: Typ kann nicht in Anmerkungen verwendet werden. |
C28229 | Anmerkung unterstützt keine Parameter. |
C28230 | Der Parametertyp weist keinen Member auf. |
C28231 | Anmerkung ist nur im Array gültig. |
C28232 | Pre, post oder deref wurden auf keine Anmerkung angewendet. |
C28233 | Pre, post oder deref wurden auf einen Block angewendet. |
C28234 | _At_-Ausdruck gilt nicht für die aktuelle Funktion. |
C28235 | Die Funktion kann nicht als Anmerkung alleine stehen. |
C28236 | Die Anmerkung kann nicht in einem Ausdruck verwendet werden. |
C28237 | Die Anmerkung zum Parameter wird nicht mehr unterstützt. |
C28238 | Die Anmerkung zum Parameter verfügt über mehrere Werte vom Typ "value", "stringValue" und "longValue". Verwenden Sie paramn=xxx. |
C28239 | Für die Anmerkung zum Parameter wurden sowohl value, stringValue oder longValue sowie paramn=xxx definiert. Verwenden Sie nur paramn=xxx. |
C28240 | Die Anmerkung zum Parameter verfügt über param2, jedoch nicht über param1. |
C28241 | Die Anmerkung für die Funktion zum Parameter wird nicht erkannt. |
C28243 | Die Anmerkung für die Funktion zum Parameter erfordert eine größere Anzahl von Dereferenzierungen, als der derzeit angemerkte Typ zulässt. |
C28244 | Die Anmerkung für die Funktion verfügt über einen nicht analysierbaren Parameter/eine externe Anmerkung. |
C28245 | Die Anmerkung für die Funktion merkt „this“ in einer Nicht-Member-Funktion an. |
C28246 | Die Parameteranmerkung für die Funktion stimmt nicht mit dem Parametertyp überein. |
C28250 | Inkonsistente Anmerkung für die Funktion: die vorherige Instanz weist einen Fehler auf. |
C28251 | Inkonsistente Anmerkung für die Funktion: diese Instanz weist einen Fehler auf. |
C28252 | Inkonsistente Anmerkung für die Funktion: der Parameter weist andere Anmerkungen für diese Instanz auf. |
C28253 | Inkonsistente Anmerkung für die Funktion: der Parameter weist andere Anmerkungen für diese Instanz auf. |
C28254 | „dynamic_cast<>()“ wird in Anmerkungen nicht unterstützt. |
C28262 | Ein Syntaxfehler in der Anmerkung wurde in der Funktion für Anmerkung gefunden |
C28263 | Ein Syntaxfehler in einer bedingten Anmerkung wurde gefunden für systeminterne Anmerkung |
C28267 | Ein Syntaxfehler in den Anmerkungen wurde in Anmerkung in der Funktion gefunden. |
C28272 | Die Anmerkung für Funktion, Parameter, beim Untersuchen von ist inkonsistent mit der Funktionsdeklaration. |
C28273 | Für Funktion sind die Hinweise inkonsistent mit der Funktionsdeklaration. |
C28275 | Der Parameter für _Macro_value_ ist Null |
C28279 | Für Symbol wurde ein 'begin' ohne zugehöriges 'end' gefunden. |
C28280 | Für Symbol wurde ein 'end' ohne zugehöriges 'begin' gefunden. |
C28282 | Formatzeichenfolgen müssen sich in Vorbedingungen befinden |
C28285 | Syntaxfehler im Parameter für Funktion |
C28286 | Für Funktion wurde ein Syntaxfehler gegen Ende gefunden. |
C28287 | Für Funktion Syntaxfehler in _At_()-Anmerkung (unbekannter Parametername) |
C28288 | Für Funktion Syntaxfehler in _At_()-Anmerkung (ungültiger Parametername) |
C28289 | Für Funktion: ReadableTo oder WritableTo enthielt keine Begrenzungsangabe als Parameter. |
C28290 | Die Anmerkung für Funktion enthält mehr Externe als die tatsächliche Anzahl von Parametern. |
C28291 | Post null/notnull auf deref-Ebene 0 ist ohne Bedeutung für Funktion. |
C28300 | Ausdrucksoperanden von inkompatiblen Typen für Operator |
C28301 | Keine Anmerkungen für die erste Deklaration der Funktion. |
C28302 | Ein zusätzlicher _Deref_-Operator wurde in der Anmerkung gefunden. |
C28303 | Ein mehrdeutiger _Deref_-Operator wurde in der Anmerkung gefunden. |
C28304 | Ein falsch platzierter _Notref_-Operator wurde gefunden, der auf das Token angewendet wird. |
C28305 | Fehler beim Analysieren eines Token. |
C28306 | Die Anmerkung zum Parameter ist veraltet. |
C28307 | Die Anmerkung zum Parameter ist veraltet. |
C28350 | Die Anmerkung beschreibt eine Situation, die nicht bedingt anwendbar ist. |
C28351 | Die Anmerkung beschreibt, wo ein dynamischer Wert (eine Variable) in der Bedingung nicht verwendet werden darf. |
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für