Набор правил "Минимальные правила для машинного кода"
Собственные минимальные правила Майкрософт сосредоточены на наиболее критически важных проблемах в машинном коде, включая потенциальные дыры безопасности и сбои приложений.
Включите этот набор правил в любой настраиваемый набор правил, создаваемый для собственных проектов.
Правило | Description |
---|---|
C6001 | Использование неинициализированной памяти |
C6011 | Разыменование пустого (NULL) указателя |
C6029 | Использование значения unchecked |
C6053 | Вызов завершается нулем |
C6059 | Неверное объединение |
C6063 | Пропущен строковый аргумент функции форматирования |
C6064 | Пропущен целочисленный аргумент функции форматирования |
C6066 | Пропущен аргумент-указатель функции форматирования |
C6067 | Пропущен аргумент указателя на строку для функции форматирования |
C6101 | Возврат неинициализированной памяти |
C6200 | Индекс превышает максимальный размер буфера |
C6201 | Индекс превышает максимальный размер буфера стека |
C6270 | Пропущен аргумент с плавающей запятой для функции форматирования |
C6271 | Лишний аргумент у функции форматирования |
C6272 | Аргумент не с плавающей запятой у функции форматирования |
C6273 | Нецелочисленный аргумент у функции форматирования |
C6274 | Несимвольный аргумент у функции форматирования |
C6276 | Недопустимое приведение строки |
C6277 | Недопустимый вызов CreateProcess |
C6284 | Недопустимый объект в качестве аргумента функции форматирования |
C6290 | Приоритет логического НЕ и побитового И |
C6291 | Приоритет логического НЕ и побитового ИЛИ |
C6302 | Недопустимый аргумент в виде строки символов у функции форматирования |
C6303 | Недопустимый аргумент в виде строки расширенных символов у функции форматирования |
C6305 | Несоответствие размера и количества |
C6306 | Недопустимый переменный аргумент при вызове функции |
C6328 | Возможное несоответствие типа аргумента |
C6385 | Переполнение при чтении |
C6386 | Переполнение при записи |
C6387 | Недопустимое значение параметра |
C6500 | Недопустимое свойство атрибута |
C6501 | Конфликт значений свойств атрибутов |
C6503 | Ссылки не могут быть пустыми (NULL) |
C6504 | Значение NULL у переменной, не являющейся указателем |
C6505 | MustCheck для Void |
C6506 | Размер буфера для массива или переменной, не являющейся указателем |
C6508 | Попытка записи константы |
C6509 | Использование return в предусловии |
C6510 | Завершение нулем у переменной, не являющейся указателем |
C6511 | Свойство MustCheck должно иметь значение Yes или No |
C6513 | Размер элемента без размера буфера |
C6514 | Размер буфера превышает размер массива |
C6515 | Размер буфера для переменной, не являющейся указателем |
C6516 | Нет свойств у атрибута |
C6517 | Допустимый размер у буфера, недоступного для чтения |
C6518 | Записываемый размер у буфера, недоступного для записи |
C6522 | Недопустимый размер у строкового типа |
C6525 | Недоступное расположение у строки недопустимого размера |
C6527 | Недопустимая аннотация: свойство "NeedsRelease" не может использоваться для значений типа void |
C6530 | Неизвестный стиль строки формата |
C6540 | Если для данной функции использовать аннотации атрибута, все ее существующие аннотации __declspec станут недействительными |
C6551 | Недопустимая спецификация размера: синтаксический анализ выражения невозможен |
C6552 | Недопустимый Deref= или Notref=: синтаксический анализ выражения невозможен |
C6701 | Значение не является одним из допустимых значений (Yes/No/Maybe): |
C6702 | Значение не является строковым |
C6703 | Значение не является числом |
C6704 | Непредвиденная ошибка выражения аннотации |
C6705 | Ожидаемое число аргументов для аннотации не совпадает с фактическим числом аргументов |
C6706 | Непредвиденная ошибка аннотации |
C26450 | RESULT_OF_ARITHMETIC_OPERATION_PROVABLY_LOSSY |
C26451 | RESULT_OF_ARITHMETIC_OPERATION_CAST_TO_LARGER_SIZE |
C26452 | SHIFT_COUNT_NEGATIVE_OR_TOO_BIG |
C26453 | LEFTSHIFT_NEGATIVE_SIGNED_NUМБ ER |
C26454 | RESULT_OF_ARITHMETIC_OPERATION_NEGATIVE_UNSIGNED |
C26495 | ME МБER_UNINIT |
C28021 | Аннотируемый параметр должен быть указателем |
C28182 | Разыменование пустого (NULL) указателя. Этот указатель содержит то же значение NULL, которое содержал другой указатель. |
C28202 | Недопустимая ссылка на нестатический член |
C28203 | Неоднозначная ссылка на член класса. |
C28205 | _Success_ или _On_failure_, используемые в незаконном контексте |
C28206 | Левая операнда указывает на структуру, используйте "->" |
C28207 | Левый операнд является структурой, используйте "." |
C28210 | Аннотации для контекста _on_failure_ не должны находиться в явном предконтексте |
C28211 | Для SAL_context ожидалось имя статического контекста |
C28212 | Для аннотации ожидалось выражение указателя |
C28213 | Заметка _Use_decl_annotations_ должна использоваться для ссылки, без изменения, предварительного объявления. |
C28214 | Допустимые имена параметров атрибута: p1...p9 |
C28215 | typefix нельзя применять к параметру, который уже имеет typefix |
C28216 | Аннотация checkReturn применяется только к постусловиям для конкретного параметра функции. |
C28217 | Для функции число параметров у аннотации не совпадает с числом в файле |
C28218 | Для параметра функции параметр заметки не совпадает с параметром, найденным в файле |
C28219 | Для параметра аннотации ожидался член перечисления |
C28220 | Для параметра аннотации ожидалось целочисленное выражение |
C28221 | Для параметра аннотации ожидалось строковое выражение |
C28222 | __yes, __no или __maybe ожидаемых для заметки |
C28223 | Не найден ожидаемый токен/идентификатор для аннотации, параметр |
C28224 | Аннотации требуются параметры |
C28225 | Не найдено правильное число обязательных параметров в аннотации |
C28226 | Аннотация не может также быть PrimOp (в текущем объявлении) |
C28227 | Аннотация не может также быть PrimOp (см. предыдущее объявление) |
C28228 | Параметр аннотации: невозможно использовать тип в аннотации |
C28229 | Аннотация не поддерживает параметры |
C28230 | Тип параметра не содержит членов. |
C28231 | Аннотация допустима только для массива |
C28232 | Ни к одной аннотации не применено pre, post или deref |
C28233 | Pre, post или deref применено к блоку |
C28234 | Выражение _At_ не применяется к текущей функции |
C28235 | Функция не может использоваться изолированно как аннотация |
C28236 | Аннотацию нельзя использовать в выражениях |
C28237 | Аннотация в параметре больше не поддерживается |
C28238 | Аннотация в параметре содержит несколько значений value, stringValue и longValue. Используйте paramn=xxx |
C28239 | Аннотация в параметре одновременно содержит значение value, stringValue или longValue и выражение paramn=xxx. Используйте только paramn=xxx |
C28240 | Аннотация в параметре содержит param2, но не содержит param1 |
C28241 | Аннотация для функции в параметре не распознана |
C28243 | Заметки для функции в параметре требуется больше разыменований, чем допускает фактический аннотируемый тип |
C28245 | Заметка для функции добавляет заметки к this в функции, не являющейся членом |
C28246 | Аннотация параметра для функции не соответствует типу параметра |
C28250 | Несогласованная аннотация функции: предыдущий экземпляр содержит ошибку. |
C28251 | Несогласованная аннотация функции: этот экземпляр содержит ошибку. |
C28252 | Несогласованная аннотация функции: параметр имеет другие аннотации для этого экземпляра. |
C28253 | Несогласованная аннотация функции: параметр имеет другие аннотации для этого экземпляра. |
C28254 | <>dynamic_cast() не поддерживается в заметках |
C28262 | В функции обнаружена синтаксическая ошибка для аннотации |
C28263 | Во встроенной функции обнаружена синтаксическая ошибка условной аннотации |
C28267 | В аннотациях для функции обнаружена синтаксическая ошибка для аннотации. |
C28272 | Аннотация для функции: параметр не согласуется с объявлением функции при проверке |
C28273 | Функция: причины не согласуются с объявлением функции |
C28275 | Параметр для _Macro_value_ имеет значение NULL |
C28279 | Для символа обнаружен begin без соответствующего end |
C28280 | Для символа обнаружен end без соответствующего begin |
C28282 | Строки формата должны находиться в предусловиях |
C28285 | Для функции синтаксическая ошибка в параметре |
C28286 | Для функции синтаксическая ошибка рядом с окончанием |
C28287 | Для функции синтаксическая ошибка в заметке _At_() (нераспознанное имя параметра) |
C28288 | Для функции синтаксическая ошибка в заметке _At_() (недопустимое имя параметра) |
C28289 | Для функции: ReadableTo или WritableTo не содержало спецификацию ограничения в качестве параметра |
C28290 | Количество внешних элементов в аннотации для функции превышает фактическое число параметров |
C28291 | После NULL/не NULL на уровне разыменовывания 0 параметра не имеет смысла для функции. |
C28300 | Несовместимые типы операндов выражения для оператора |
C28301 | Для первого объявления функции отсутствуют аннотации. |
C28302 | На заметке найден дополнительный оператор _Deref_. |
C28303 | Неоднозначный оператор _Deref_ был найден в заметке. |
C28304 | Некорректно помещенный оператор _Notref_ был найден применен к токену. |
C28305 | При синтаксическом анализе токена обнаружена ошибка. |
C28350 | Заметка описывает ситуацию, к которой неприменимы условия. |
C28351 | Аннотация описывает ситуацию, когда динамическое значение (переменная) не может использоваться в условии. |
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по