Набор правил "Минимальные правила для смешанного кода"Mixed Minimum Rules rule set

Минимальные правила Microsoft Mixed сосредоточены на самых важных проблемах в C++ проектах, поддерживающих среду CLR, включая потенциальные бреши в системе безопасности и сбои приложений.The Microsoft Mixed Minimum Rules focus on the most critical problems in C++ projects that support the Common Language Runtime, including potential security holes and application crashes.

Включите этот набор правил в любой настраиваемый набор правил, создаваемый C++ для проектов, поддерживающих среду CLR.Include this rule set in any custom rule set you create for your C++ projects that support the Common Language Runtime.

ПравилоRule ОписаниеDescription
C6001C6001 Использование неинициализированной памятиUsing Uninitialized Memory
C6011C6011 Разыменование пустого (NULL) указателяDereferencing Null Pointer
C6029C6029 Использование значения uncheckedUse Of Unchecked Value
C6053C6053 Вызов завершается нулемZero Termination From Call
C6059C6059 Неверное объединениеBad Concatenation
C6063C6063 Пропущен строковый аргумент функции форматированияMissing String Argument To Format Function
C6064C6064 Пропущен целочисленный аргумент функции форматированияMissing Integer Argument To Format Function
C6066C6066 Пропущен аргумент-указатель функции форматированияMissing Pointer Argument To Format Function
C6067C6067 Пропущен аргумент указателя на строку для функции форматированияMissing String Pointer Argument To Format Function
C6101C6101 Возврат неинициализированной памятиReturning uninitialized memory
C6200C6200 Индекс превышает максимальный размер буфераIndex Exceeds Buffer Maximum
C6201C6201 Индекс превышает максимальный размер буфера стекаIndex Exceeds Stack Buffer Maximum
C6270C6270 Пропущен аргумент с плавающей запятой для функции форматированияMissing Float Argument To Format Function
C6271C6271 Лишний аргумент у функции форматированияExtra Argument To Format Function
C6272C6272 Аргумент не с плавающей запятой у функции форматированияNon-Float Argument To Format Function
C6273C6273 Нецелочисленный аргумент у функции форматированияNon-Integer Argument To Format Function
C6274C6274 Несимвольный аргумент у функции форматированияNon-Character Argument To Format Function
C6276C6276 Недопустимое приведение строкиInvalid String Cast
C6277C6277 Недопустимый вызов CreateProcessInvalid CreateProcess Call
C6284C6284 Недопустимый объект в качестве аргумента функции форматированияInvalid Object Argument To Format Function
C6290C6290 Приоритет логического НЕ и побитового ИLogical-Not Bitwise-And Precedence
C6291C6291 Приоритет логического НЕ и побитового ИЛИLogical-Not Bitwise-Or Precedence
C6302C6302 Недопустимый аргумент в виде строки символов у функции форматированияInvalid Character String Argument To Format Function
C6303C6303 Недопустимый аргумент в виде строки расширенных символов у функции форматированияInvalid Wide Character String Argument To Format Function
C6305C6305 Несоответствие размера и количестваMismatched Size And Count Use
C6306C6306 Недопустимый переменный аргумент при вызове функцииIncorrect Variable Argument Function Call
C6328C6328 Возможное несоответствие типа аргументаPotential Argument Type Mismatch
C6385C6385 Переполнение при чтенииRead Overrun
C6386C6386 Переполнение при записиWrite Overrun
C6387C6387 Недопустимое значение параметраInvalid Parameter Value
C6500C6500 Недопустимое свойство атрибутаInvalid Attribute Property
C6501C6501 Конфликт значений свойств атрибутовConflicting Attribute Property Values
C6503C6503 Ссылки не могут быть пустыми (NULL)References Cannot Be Null
C6504C6504 Значение NULL у переменной, не являющейся указателемNull On Non-Pointer
C6505C6505 MustCheck для VoidMustCheck On Void
C6506C6506 Размер буфера для массива или переменной, не являющейся указателемBuffer Size On Non-Pointer Or Array
C6508C6508 Попытка записи константыWrite Access On Constant
C6509C6509 Использование return в предусловииReturn Used On Precondition
C6510C6510 Завершение нулем у переменной, не являющейся указателемNull Terminated On Non-Pointer
C6511C6511 Свойство MustCheck должно иметь значение Yes или NoMustCheck Must Be Yes Or No
C6513C6513 Размер элемента без размера буфераElement Size Without Buffer Size
C6514C6514 Размер буфера превышает размер массиваBuffer Size Exceeds Array Size
C6515C6515 Размер буфера для переменной, не являющейся указателемBuffer Size On Non-Pointer
C6516C6516 Нет свойств у атрибутаNo Properties On Attribute
C6517C6517 Допустимый размер у буфера, недоступного для чтенияValid Size On Non-Readable Buffer
C6518C6518 Записываемый размер у буфера, недоступного для записиWritable Size On Non-Writable Buffer
C6522C6522 Недопустимый размер у строкового типаInvalid Size String Type
C6525C6525 Недоступное расположение у строки недопустимого размераInvalid Size String Unreachable Location
C6527C6527 Недопустимая аннотация: свойство "NeedsRelease" не может использоваться для значений типа voidInvalid annotation: 'NeedsRelease' property may not be used on values of void type
C6530C6530 Неизвестный стиль строки форматаUnrecognized Format String Style
C6540C6540 Если для данной функции использовать аннотации атрибута, все ее существующие аннотации __declspec станут недействительнымиThe use of attribute annotations on this function will invalidate all of its existing __declspec annotations
C6551C6551 Недопустимая спецификация размера: синтаксический анализ выражения невозможенInvalid size specification: expression not parsable
C6552C6552 Недопустимый Deref= или Notref=: синтаксический анализ выражения невозможенInvalid Deref= or Notref=: expression not parsable
C6701C6701 Значение не является одним из допустимых значений (Yes/No/Maybe):The value is not a valid Yes/No/Maybe value
C6702C6702 Значение не является строковымThe value is not a string value
C6703C6703 Значение не является числомThe value is not a number
C6704C6704 Непредвиденная ошибка выражения аннотацииUnexpected Annotation Expression Error
C6705C6705 Ожидаемое число аргументов для аннотации не совпадает с фактическим числом аргументовExpected number of arguments for annotation does not match actual number of arguments for annotation
C6706C6706 Непредвиденная ошибка аннотацииUnexpected Annotation Error for annotation
C28021C28021 Аннотируемый параметр должен быть указателемThe parameter being annotated must be a pointer
C28182C28182 Разыменование пустого (NULL) указателя.Dereferencing NULL pointer. Этот указатель содержит то же значение NULL, которое содержал другой указатель.The pointer contains the same NULL value as another pointer did.
C28202C28202 Недопустимая ссылка на нестатический членIllegal reference to non-static member
C28203C28203 Неоднозначная ссылка на член класса.Ambiguous reference to class member.
C28205C28205 _Success _ или _On _failure _ используется в недопустимом контексте_Success_ or _On_failure_ used in an illegal context
C28206C28206 Левый операнд указывает на структуру, используйте "->"Left operand points to a struct, use '->'
C28207C28207 Левый операнд является структурой, используйте "."Left operand is a struct, use '.'
C28210C28210 Аннотации для контекста on_failure не должны находиться в явном предконтекстеAnnotations for the __on_failure context must not be in explicit pre context
C28211C28211 Для SAL_context ожидалось имя статического контекстаStatic context name expected for SAL_context
C28212C28212 Для аннотации ожидалось выражение указателяPointer expression expected for annotation
C28213C28213 Заметка _Use _decl _annotations _ должна использоваться для ссылки, без изменения, в предыдущем объявлении.The _Use_decl_annotations_ annotation must be used to reference, without modification, a prior declaration.
C28214C28214 Допустимые имена параметров атрибута: p1...p9Attribute parameter names must be p1...p9
C28215C28215 typefix нельзя применять к параметру, который уже имеет typefixThe typefix cannot be applied to a parameter that already has a typefix
C28216C28216 Аннотация checkReturn применяется только к постусловиям для конкретного параметра функции.The checkReturn annotation only applies to postconditions for the specific function parameter.
C28217C28217 Для функции число параметров у аннотации не совпадает с числом в файлеFor function, the number of parameters to annotation does not match that found at file
C28218C28218 Для параметра функции параметр аннотации не соответствует значению, найденному в файлеFor function parameter, the annotation's parameter does not match that found at file
C28219C28219 Для параметра аннотации ожидался член перечисленияMember of enumeration expected for annotation the parameter in the annotation
C28220C28220 Для параметра аннотации ожидалось целочисленное выражениеInteger expression expected for annotation the parameter in the annotation
C28221C28221 Для параметра аннотации ожидалось строковое выражениеString expression expected for the parameter in the annotation
C28222C28222 Для аннотации ожидалось __yes, __no или __maybe__yes, __no, or __maybe expected for annotation
C28223C28223 Не найден ожидаемый токен/идентификатор для аннотации, параметрDid not find expected Token/identifier for annotation, parameter
C28224C28224 Аннотации требуются параметрыAnnotation requires parameters
C28225C28225 Не найдено правильное число обязательных параметров в аннотацииDid not find the correct number of required parameters in annotation
C28226C28226 Аннотация не может также быть PrimOp (в текущем объявлении)Annotation cannot also be a PrimOp (in current declaration)
C28227C28227 Аннотация не может также быть PrimOp (см. предыдущее объявление)Annotation cannot also be a PrimOp (see prior declaration)
C28228C28228 Параметр аннотации: невозможно использовать тип в аннотацииAnnotation parameter: cannot use type in annotations
C28229C28229 Аннотация не поддерживает параметрыAnnotation does not support parameters
C28230C28230 Тип параметра не содержит членов.The type of parameter has no member.
C28231C28231 Аннотация допустима только для массиваAnnotation is only valid on array
C28232C28232 Ни к одной аннотации не применено pre, post или derefpre, post, or deref not applied to any annotation
C28233C28233 Pre, post или deref применено к блокуpre, post, or deref applied to a block
C28234C28234 Выражение At не применяется к текущей функции__at expression does not apply to current function
C28235C28235 Функция не может использоваться изолированно как аннотацияThe function cannot stand alone as an annotation
C28236C28236 Аннотацию нельзя использовать в выраженияхThe annotation cannot be used in an expression
C28237C28237 Аннотация в параметре больше не поддерживаетсяThe annotation on parameter is no longer supported
C28238C28238 Аннотация в параметре содержит несколько значений value, stringValue и longValue.The annotation on parameter has more than one of value, stringValue, and longValue. Используйте paramn=xxxUse paramn=xxx
C28239C28239 Аннотация в параметре одновременно содержит значение value, stringValue или longValue и выражение paramn=xxx.The annotation on parameter has both value, stringValue, or longValue; and paramn=xxx. Используйте только paramn=xxxUse only paramn=xxx
C28240C28240 Аннотация в параметре содержит param2, но не содержит param1The annotation on parameter has param2 but no param1
C28241C28241 Аннотация для функции в параметре не распознанаThe annotation for function on parameter is not recognized
C28243C28243 Заметки для функции в параметре требуется больше разыменований, чем допускает фактический аннотируемый типThe annotation for function on parameter requires more dereferences than the actual type annotated allows
C28245C28245 Заметка для функции добавляет заметки к this в функции, не являющейся членомThe annotation for function annotates 'this' on a non-member-function
C28246C28246 Аннотация параметра для функции не соответствует типу параметраThe parameter annotation for function does not match the type of the parameter
C28250C28250 Несогласованная аннотация функции: предыдущий экземпляр содержит ошибку.Inconsistent annotation for function: the prior instance has an error.
C28251C28251 Несогласованная аннотация функции: этот экземпляр содержит ошибку.Inconsistent annotation for function: this instance has an error.
C28252C28252 Несогласованная аннотация функции: параметр имеет другие аннотации для этого экземпляра.Inconsistent annotation for function: parameter has another annotations on this instance.
C28253C28253 Несогласованная аннотация функции: параметр имеет другие аннотации для этого экземпляра.Inconsistent annotation for function: parameter has another annotations on this instance.
C28254C28254 dynamic_cast<>() не поддерживается в аннотацияхdynamic_cast<>() is not supported in annotations
C28262C28262 В функции обнаружена синтаксическая ошибка для аннотацииA syntax error in the annotation was found in function, for annotation
C28263C28263 Во встроенной функции обнаружена синтаксическая ошибка условной аннотацииA syntax error in a conditional annotation was found for Intrinsic annotation
C28267C28267 В аннотациях для функции обнаружена синтаксическая ошибка для аннотации.A syntax error in the annotations was found annotation in the function.
C28272C28272 Аннотация для функции: параметр не согласуется с объявлением функции при проверкеThe annotation for function, parameter when examining is inconsistent with the function declaration
C28273C28273 Функция: причины не согласуются с объявлением функцииFor function, the clues are inconsistent with the function declaration
C28275C28275 Параметр для _Macro _value _ имеет значение nullThe parameter to _Macro_value_ is null
C28279C28279 Для символа обнаружен begin без соответствующего endFor symbol, a 'begin' was found without a matching 'end'
C28280C28280 Для символа обнаружен end без соответствующего beginFor symbol, an 'end' was found without a matching 'begin'
C28282C28282 Строки формата должны находиться в предусловияхFormat Strings must be in preconditions
C28285C28285 Для функции синтаксическая ошибка в параметреFor function, syntax error in parameter
C28286C28286 Для функции синтаксическая ошибка рядом с окончаниемFor function, syntax error near the end
C28287C28287 Для функции: синтаксическая ошибка в аннотации _At_() (не распознано имя параметра)For function, syntax Error in _At_() annotation (unrecognized parameter name)
C28288C28288 Для функции: синтаксическая ошибка в аннотации _At_() (недопустимое имя параметра)For function, syntax Error in _At_() annotation (invalid parameter name)
C28289C28289 Для функции: ReadableTo или WritableTo не содержало спецификацию ограничения в качестве параметраFor function: ReadableTo or WritableTo did not have a limit-spec as a parameter
C28290C28290 Количество внешних элементов в аннотации для функции превышает фактическое число параметровthe annotation for function contains more Externals than the actual number of parameters
C28291C28291 После NULL/не NULL на уровне разыменовывания 0 параметра не имеет смысла для функции.post null/notnull at deref level 0 is meaningless for function.
C28300C28300 Несовместимые типы операндов выражения для оператораExpression operands of incompatible types for operator
C28301C28301 Для первого объявления функции отсутствуют аннотации.No annotations for first declaration of function.
C28302C28302 В аннотации обнаружен дополнительный оператор _Deref_.An extra _Deref_ operator was found on annotation.
C28303C28303 В аннотации обнаружен неоднозначный оператор _Deref_.An ambiguous _Deref_ operator was found on annotation.
C28304C28304 Обнаружен неверно размещенный оператор _Notref_, применяемый к токену.An improperly placed _Notref_ operator was found applied to token.
C28305C28305 При синтаксическом анализе токена обнаружена ошибка.An error while parsing a token was discovered.
C28350C28350 Заметка описывает ситуацию, к которой неприменимы условия.The annotation describes a situation that is not conditionally applicable.
C28351C28351 Аннотация описывает ситуацию, когда динамическое значение (переменная) не может использоваться в условии.The annotation describes where a dynamic value (a variable) cannot be used in the condition.
CA1001CA1001 Типы, которым принадлежат освобождаемые поля, должны быть освобождаемымиTypes that own disposable fields should be disposable
CA1821CA1821 Удалите пустые методы завершенияRemove empty finalizers
CA2213CA2213 Следует высвобождать высвобождаемые поляDisposable fields should be disposed
CA2231CA2231 Перегрузите оператор равенства на переопределяющем типе ValueType.EqualsOverload operator equals on overriding ValueType.Equals