Набор правил "Рекомендуемые правила для смешанных сред"Mixed Recommended Rules rule set

Рекомендуемые правила Майкрософт сосредоточены на наиболее распространенных и критических проблемах в C++ проектах, поддерживающих среду CLR, включая потенциальные бреши в системе безопасности, сбои приложений, а также другие важные логики и ошибки проектирования.The Microsoft Mixed Recommended Rules focus on the most common and critical problems in your C++ projects that support the Common Language Runtime, including potential security holes, application crashes, and other important logic and design errors. Этот набор правил включает все правила из набора правил " смешанные правила минимальных правил ".This rule set includes all of the rules in the Mixed Minimum Rules rule set.

Включите этот набор правил в любой настраиваемый набор правил, создаваемый 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
C6031C6031 Возвращаемое значение пропущеноReturn Value Ignored
C6053C6053 Вызов завершается нулемZero Termination From Call
C6054C6054 Отсутствует нулевое завершениеZero Termination Missing
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
C6214C6214 Недопустимое приведение HRESULT к BOOLInvalid Cast HRESULT To BOOL
C6215C6215 Недопустимое приведение BOOL к типу HRESULTInvalid Cast BOOL To HRESULT
C6216C6216 Недопустимое введенное компилятором логическое значение CAST в HRESULTInvalid Compiler-Inserted Cast BOOL To HRESULT
C6217C6217 Недопустимая проверка HRESULT с NOTInvalid HRESULT Test With NOT
C6220C6220 Недопустимое сравнение HRESULT с-1Invalid HRESULT Compare To -1
C6226C6226 Недопустимое присваивание HRESULT значению-1Invalid HRESULT Assignment To -1
C6230C6230 Недопустимое использование HRESULT в качестве логического значенияInvalid HRESULT Use As Boolean
C6235C6235 Ненулевая константа с логическим илиNon-Zero Constant With Logical-Or
C6236C6236 Логическое или с ненулевой константойLogical-Or With Non-Zero Constant
C6237C6237 Ноль с логическим и теряет побочные эффектыZero With Logical-And Loses Side Effects
C6242C6242 Локальная очистка принудительно выполненаLocal Unwind Forced
C6248C6248 Создание пустого списка DACLCreating Null DACL
C6250C6250 Неосвобожденные дескрипторы адресовUnreleased Address Descriptors
C6255C6255 Незащищенное использование AllocUnprotected Use Of Alloca
C6258C6258 Использование метода завершения потокаUsing Terminate Thread
C6259C6259 Неиспользуемый код в побитовом или ограниченном параметреDead Code In Bitwise-Or Limited Switch
C6260C6260 Использование арифметических операций с байтамиUse Of Byte Arithmetic
C6262C6262 Чрезмерное использование стекаExcessive Stack Usage
C6263C6263 Использование оператора Alloc в циклеUsing Alloca In Loop
C6268C6268 Пропущенные круглые скобки при приведенииMissing Parentheses In Cast
C6269C6269 Разыменование указателя игнорируетсяPointer Dereference Ignored
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
C6278C6278 Массив-новое несоответствие скалярного удаленияArray-New Scalar-Delete Mismatch
C6279C6279 Скалярный — новый массив — несоответствие удаленияScalar-New Array-Delete Mismatch
C6280C6280 Выделение памяти — несоответствие освобожденийMemory Allocation-Deallocation Mismatch
C6281C6281 Приоритет побитовой связиBitwise Relation Precedence
C6282C6282 Назначение заменяет тестAssignment Replaces Test
C6283C6283 Массив примитивов — новое несоответствие скалярного удаленияPrimitive Array-New Scalar-Delete Mismatch
C6284C6284 Недопустимый объект в качестве аргумента функции форматированияInvalid Object Argument To Format Function
C6285C6285 Логические или константыLogical-Or Of Constants
C6286C6286 Ненулевые логические или потерянные побочные эффектыNon-Zero Logical-Or Losing Side Effects
C6287C6287 Избыточный тестRedundant Test
C6288C6288 Взаимное включение по логическому и имеет значение falseMutual Inclusion Over Logical-And Is False
C6289C6289 Взаимное исключение через логическое или имеет значение trueMutual Exclusion Over Logical-Or Is True
C6290C6290 Приоритет логического НЕ и побитового ИLogical-Not Bitwise-And Precedence
C6291C6291 Приоритет логического НЕ и побитового ИЛИLogical-Not Bitwise-Or Precedence
C6292C6292 Цикл идет вверх от максимального числаLoop Counts Up From Maximum
C6293C6293 Число циклов ниже минимальногоLoop Counts Down From Minimum
C6294C6294 Тело цикла никогда не выполнялосьLoop Body Never Executed
C6295C6295 Бесконечный циклInfinite Loop
C6296C6296 Цикл выполнен только один разLoop Only Executed Once
C6297C6297 Результат сдвига приведен к большему размеруResult Of Shift Cast To Larger Size
C6299C6299 Сравнение битового значения и логического типаBitfield To Boolean Comparison
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
C6308C6308 Утечка перераспределенияRealloc Leak
C6310C6310 Недопустимая константа фильтра исключенийIllegal Exception Filter Constant
C6312C6312 Цикл выполнения исключенияException Continue Execution Loop
C6314C6314 Приоритет побитового илиBitwise-Or Precedence
C6317C6317 Не дополнятьNot Not Complement
C6318C6318 Поиск продолжения исключенияException Continue Search
C6319C6319 Игнорируется запятойIgnored By Comma
C6324C6324 Копирование строк вместо сравнения строкString Copy Instead Of String Compare
C6328C6328 Возможное несоответствие типа аргументаPotential Argument Type Mismatch
C6331C6331 Недопустимые флаги VirtualFreeVirtualFree Invalid Flags
C6332C6332 Недопустимый параметр VirtualFreeVirtualFree Invalid Parameter
C6333C6333 Недопустимый размер VirtualFreeVirtualFree Invalid Size
C6335C6335 Дескриптор процесса утечкиLeaking Process Handle
C6381C6381 Отсутствуют сведения о завершении работыShutdown Information Missing
C6383C6383 Count-счетчик элементов — переполнение буфера в байтахElement-Count Byte-Count Buffer Overrun
C6384C6384 Деление размера указателяPointer Size Division
C6385C6385 Переполнение при чтенииRead Overrun
C6386C6386 Переполнение при записиWrite Overrun
C6387C6387 Недопустимое значение параметраInvalid Parameter Value
C6388C6388 Недопустимое значение параметра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
C6995C6995 Не удалось сохранить XML-файл журналаFailed to save XML Log file
C26100C26100 Состояние гонкиRace condition
C26101C26101 Не удается правильно использовать блокируемую операциюFailing to use interlocked operation properly
C26110C26110 Вызывающий объект не удалось удерживать блокировкуCaller failing to hold lock
C26111C26111 Вызывающий объект не удалось снять блокировкуCaller failing to release lock
C26112C26112 Вызывающий объект не может удерживать блокировкиCaller cannot hold any lock
C26115C26115 Не удается снять блокировкуFailing to release lock
C26116C26116 Не удается получить или удержать блокировкуFailing to acquire or to hold lock
C26117C26117 Освобождение неудерживаемой блокировкиReleasing unheld lock
C26140C26140 Ошибка аннотации SAL для параллелизмаConcurrency SAL annotation error
C28020C28020 Выражение не равно true в этом вызовеThe expression is not true at this call
C28021C28021 Аннотируемый параметр должен быть указателемThe parameter being annotated must be a pointer
C28022C28022 Классы функций для этой функции не соответствуют классам-функциям typedef, используемому для его определения.The function class(es) on this function do not match the function class(es) on the typedef used to define it.
C28023C28023 Назначенная или передаваемая функция должна иметь _Function _class _ Аннотация по крайней мере для одного из классов.The function being assigned or passed should have a _Function_class_ annotation for at least one of the class(es)
C28024C28024 Указатель функции, которому присваивается значение, записывается в класс Function, который не содержится в списке классов функций.The function pointer being assigned to is annotated with the function class, which is not contained in the function class(es) list.
C28039C28039 Тип фактического параметра должен точно соответствовать типуThe type of actual parameter should exactly match the type
C28112C28112 Доступ к переменной, доступ к которой осуществляется через блокируемую функцию, всегда должен осуществляться через блокируемую функцию.A variable which is accessed via an Interlocked function must always be accessed via an Interlocked function.
C28113C28113 Доступ к локальной переменной через блокируемую функциюAccessing a local variable via an Interlocked function
C28125C28125 Функция должна вызываться из блока try/exceptThe function must be called from within a try/except block
C28137C28137 Аргумент переменной должен быть константой (литералом)The variable argument should instead be a (literal) constant
C28138C28138 Константный аргумент должен быть переменнымThe constant argument should instead be variable
C28159C28159 Вместо этого рекомендуется использовать другую функцию.Consider using another function instead.
C28160C28160 Ошибка аннотацииError annotation
C28163C28163 Функция никогда не должна вызываться из блока try/exceptThe function should never be called from within a try/except block
C28164C28164 Аргумент передается в функцию, которая принимает указатель на объект (не указатель на указатель)The argument is being passed to a function that expects a pointer to an object (not a pointer to a pointer)
C28182C28182 Разыменование пустого (NULL) указателя.Dereferencing NULL pointer. Этот указатель содержит то же значение NULL, которое содержал другой указатель.The pointer contains the same NULL value as another pointer did.
C28183C28183 Аргумент может быть одним значением, а — копией значения, найденного в указателеThe argument could be one value, and is a copy of the value found in the pointer
C28193C28193 Переменная содержит значение, которое необходимо проверитьThe variable holds a value that must be examined
C28196C28196 Требование не удовлетворено.The requirement is not satisfied. (Выражение не возвращает значение true.)(The expression does not evaluate to true.)
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 '.'
C28209C28209 Объявление символа содержит конфликтующее объявлениеThe declaration for symbol has a conflicting declaration
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
C28244C28244 Аннотация для функции имеет неанализируемый параметр или внешнюю аннотациюThe annotation for function has an unparsable parameter/external annotation
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.
C28306C28306 Заметка для параметра — устарелаThe annotation on parameter is obsolescent
C28307C28307 Заметка для параметра — устарелаThe annotation on parameter is obsolescent
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
CA1009CA1009 Правильно объявляйте обработчики событийDeclare event handlers correctly
CA1016CA1016 Пометьте сборки с помощью AssemblyVersionAttributeMark assemblies with AssemblyVersionAttribute
CA1033CA1033 Методы интерфейса должны быть доступны для вызова дочерними типамиInterface methods should be callable by child types
CA1049CA1049 Типы, которым принадлежат собственные ресурсы, должны быть освобождаемымиTypes that own native resources should be disposable
CA1060CA1060 Переместите методы P/Invoke в класс NativeMethodsMove P/Invokes to NativeMethods class
CA1061CA1061 Не скрывайте методы базовых классовDo not hide base class methods
CA1063CA1063 Правильно реализуйте IDisposableImplement IDisposable correctly
CA1065CA1065 Не вызывайте исключения в непредвиденных местахDo not raise exceptions in unexpected locations
CA1301CA1301 Избегайте повторяющихся акселераторовAvoid duplicate accelerators
CA1400CA1400 Для методов P/Invoke должны существовать точки входаP/Invoke entry points should exist
CA1401CA1401 Методы P/Invoke не должны быть видимымиP/Invokes should not be visible
CA1403CA1403 Типы с автомакетом не должны быть видимыми для COMAuto layout types should not be COM visible
CA1404CA1404 Вызывайте GetLastError сразу после P/InvokeCall GetLastError immediately after P/Invoke
CA1405CA1405 Базовые типы, относящиеся к типу, видимому для COM, должны быть видимыми для COMCOM visible type base types should be COM visible
CA1410CA1410 Методы регистрации COM должны быть согласованнымиCOM registration methods should be matched
CA1415CA1415 Правильно объявляйте методы P/InvokeDeclare P/Invokes correctly
CA1821CA1821 Удалите пустые методы завершенияRemove empty finalizers
CA1900CA1900 Поля типов значений должны быть переносимымиValue type fields should be portable
CA1901CA1901 Объявления P/Invoke должны быть переносимымиP/Invoke declarations should be portable
CA2002CA2002 Не блокируйте объекты с ненадежными удостоверениямиDo not lock on objects with weak identity
CA2100CA2100 Проверьте запросы SQL на наличие уязвимостей системы безопасностиReview SQL queries for security vulnerabilities
CA2101CA2101 Укажите тип маршалинга для строковых аргументов P/InvokeSpecify marshaling for P/Invoke string arguments
CA2108CA2108 Проверьте объявляемые параметры безопасности типов значенийReview declarative security on value types
CA2111CA2111 Указатели не должны быть видимымиPointers should not be visible
CA2112CA2112 Защищенные типы не должны предоставлять поляSecured types should not expose fields
CA2114CA2114 Безопасность метода должна быть надмножеством типаMethod security should be a superset of type
CA2116CA2116 APTCA-методы должны вызывать только APTCA-методыAPTCA methods should only call APTCA methods
CA2117CA2117 APTCA-типы должны расширять только базовые APTCA-типыAPTCA types should only extend APTCA base types
CA2122CA2122 Не используйте косвенное представление методов с требованиями ссылкиDo not indirectly expose methods with link demands
CA2123CA2123 Переопределяющие требования ссылки должны быть идентичны базовымOverride link demands should be identical to base
CA2124CA2124 Ограничьте уязвимые предложения finally во внешних блоках tryWrap vulnerable finally clauses in outer try
CA2126CA2126 Для требований ссылок на тип необходимы требования наследованияType link demands require inheritance demands
CA2131CA2131 Критические для безопасности типы не могут участвовать в эквивалентности типовSecurity critical types may not participate in type equivalence
CA2132CA2132 Конструкторы по умолчанию должны быть по меньшей мере такими же критическими, как конструкторы по умолчанию базового типаDefault constructors must be at least as critical as base type default constructors
CA2133CA2133 Делегаты должны быть привязаны к методам с соответствующей прозрачностьюDelegates must bind to methods with consistent transparency
CA2134CA2134 Методы должны сохранять одинаковую прозрачность при переопределении базовых методовMethods must keep consistent transparency when overriding base methods
CA2137CA2137 Прозрачные методы должны содержать только поддающийся проверке промежуточный языкTransparent methods must contain only verifiable IL
CA2138CA2138 Прозрачные методы не должны вызывать методы с атрибутом SuppressUnmanagedCodeSecurityTransparent methods must not call methods with the SuppressUnmanagedCodeSecurity attribute
CA2140CA2140 Прозрачный код не должен ссылаться на критические для безопасности элементыTransparent code must not reference security critical items
CA2141CA2141 Прозрачные методы не должны соответствовать требованиям LinkDemandTransparent methods must not satisfy LinkDemands
CA2146CA2146 Типы должны быть по крайней мере настолько же критическими, как их базовые типы и интерфейсыTypes must be at least as critical as their base types and interfaces
CA2147CA2147 Прозрачные методы могут не использовать утверждения безопасностиTransparent methods may not use security asserts
CA2149CA2149 Прозрачные методы не должны вызывать машинный кодTransparent methods must not call into native code
CA2200CA2200 Повторно порождайте исключения для сохранения сведений стекаRethrow to preserve stack details
CA2202CA2202 Не ликвидируйте объекты несколько разDo not dispose objects multiple times
CA2207CA2207 Используйте встроенную инициализацию статических полей типов значенийInitialize value type static fields inline
CA2212CA2212 Не помечайте обслуживаемые компоненты с помощью WebMethodDo not mark serviced components with WebMethod
CA2213CA2213 Следует высвобождать высвобождаемые поляDisposable fields should be disposed
CA2214CA2214 Не вызывайте переопределяемые методы в конструкторахDo not call overridable methods in constructors
CA2216CA2216 Высвобождаемые типы должны объявлять методы завершенияDisposable types should declare finalizer
CA2220CA2220 Методы завершения должны вызывать метод завершения базового классаFinalizers should call base class finalizer
CA2229CA2229 Реализуйте конструкторы сериализацииImplement serialization constructors
CA2231CA2231 Перегрузите оператор равенства на переопределяющем типе ValueType.EqualsOverload operator equals on overriding ValueType.Equals
CA2232CA2232 Отметьте точки входа Windows Forms меткой STAThreadMark Windows Forms entry points with STAThread
CA2235CA2235 Пометьте все несериализуемые поляMark all non-serializable fields
CA2236CA2236 Вызывайте методы базового класса для типов ISerializableCall base class methods on ISerializable types
CA2237CA2237 Пометьте типы ISerializable атрибутом SerializableAttributeMark ISerializable types with SerializableAttribute
CA2238CA2238 Правильно реализуйте методы сериализацииImplement serialization methods correctly
CA2240CA2240 Правильно реализуйте ISerializableImplement ISerializable correctly
CA2241CA2241 Задайте правильные аргументы для методов форматированияProvide correct arguments to formatting methods
CA2242CA2242 Правильно выполняйте проверку NaNTest for NaN correctly