Conjunto de reglas Reglas recomendadas nativasNative Recommended Rules rule set

Las reglas recomendadas nativas se centran en los problemas más graves y habituales en código nativo, incluidas posibles vulnerabilidades de seguridad y bloqueos de la aplicación.The Native Recommended Rules focus on the most critical and common problems in your native code, including potential security holes and application crashes. Debe incluir este conjunto de reglas en todos los conjuntos de reglas personalizados que cree para sus proyectos nativos.You should include this rule set in any custom rule set you create for your native projects.

ReglaRule DescripciónDescription
C6001C6001 Uso de la memoria sin inicializarUsing Uninitialized Memory
C6011C6011 Desreferenciación de un puntero nullDereferencing Null Pointer
C6029C6029 Uso de un valor sin comprobarUse Of Unchecked Value
C6031C6031 Omitió el valor devueltoReturn Value Ignored
C6053C6053 Terminación en cero de la llamadaZero Termination From Call
C6054C6054 Cero falta de finalizaciónZero Termination Missing
C6059C6059 Concatenación incorrectaBad Concatenation
C6063C6063 Falta el argumento de cadena para la función de formatoMissing String Argument To Format Function
C6064C6064 Falta el argumento de entero para la función de formatoMissing Integer Argument To Format Function
C6066C6066 Falta el argumento de puntero para la función de formatoMissing Pointer Argument To Format Function
C6067C6067 Falta el argumento de puntero de cadena para la función de formatoMissing String Pointer Argument To Format Function
C6101C6101 Devolución de memoria sin inicializarReturning uninitialized memory
C6200C6200 El índice supera el valor máximo para el búferIndex Exceeds Buffer Maximum
C6201C6201 El índice supera el valor máximo para el búfer de pilaIndex Exceeds Stack Buffer Maximum
C6214C6214 Conversión no válida HRESULT a BOOLInvalid Cast HRESULT To BOOL
C6215C6215 Conversión no válida BOOL a HRESULTInvalid Cast BOOL To HRESULT
C6216C6216 Conversión no válida insertada por el compilador BOOL a HRESULTInvalid Compiler-Inserted Cast BOOL To HRESULT
C6217C6217 Prueba HRESULT no válido con NOTInvalid HRESULT Test With NOT
C6220C6220 Comparación HRESULT no válido en -1Invalid HRESULT Compare To -1
C6226C6226 Asignación de HRESULT no válido en -1Invalid HRESULT Assignment To -1
C6230C6230 Uso HRESULT no válido como un valor booleanoInvalid HRESULT Use As Boolean
C6235C6235 Constante distinto de cero con lógica- oNon-Zero Constant With Logical-Or
C6236C6236 Lógica- o con distinto de cero (constante)Logical-Or With Non-Zero Constant
C6237C6237 Cero con lógica- y pierde efectos secundariosZero With Logical-And Loses Side Effects
C6242C6242 Desenredo local forzadaLocal Unwind Forced
C6248C6248 Creación de DACL NullCreating Null DACL
C6250C6250 Descriptores de dirección no lanzadosUnreleased Address Descriptors
C6255C6255 Uso sin protección de AllocaUnprotected Use Of Alloca
C6258C6258 Uso de terminar el subprocesoUsing Terminate Thread
C6259C6259 Código inactivos en bit a bit- o que estén limitadas conmutadorDead Code In Bitwise-Or Limited Switch
C6260C6260 Uso de la aritmética de ByteUse Of Byte Arithmetic
C6262C6262 Uso de la pila excesivoExcessive Stack Usage
C6263C6263 Usar Alloca en bucleUsing Alloca In Loop
C6268C6268 Faltan paréntesis en la conversión de tiposMissing Parentheses In Cast
C6269C6269 Desreferencia de puntero omitePointer Dereference Ignored
C6270C6270 Falta el argumento float para la función de formatoMissing Float Argument To Format Function
C6271C6271 Argumento adicional para la función de formatoExtra Argument To Format Function
C6272C6272 Argumento no flotante para la función de formatoNon-Float Argument To Format Function
C6273C6273 Argumento no entero para la función de formatoNon-Integer Argument To Format Function
C6274C6274 Argumento sin caracteres para la función de formatoNon-Character Argument To Format Function
C6276C6276 Conversión de cadena no válidaInvalid String Cast
C6277C6277 Llamada no válida a CreateProcessInvalid CreateProcess Call
C6278C6278 Error de coincidencia de eliminación escalar matriz nuevaArray-New Scalar-Delete Mismatch
C6279C6279 Error de coincidencia de eliminación de matriz escalar nuevaScalar-New Array-Delete Mismatch
C6280C6280 Error de coincidencia de asignación y desasignación de memoriaMemory Allocation-Deallocation Mismatch
C6281C6281 Precedencia de relación bit a bitBitwise Relation Precedence
C6282C6282 Asignación reemplaza la pruebaAssignment Replaces Test
C6283C6283 Error de coincidencia de eliminación escalar matriz nueva primitivoPrimitive Array-New Scalar-Delete Mismatch
C6284C6284 Argumento de objeto no válido para la función de formatoInvalid Object Argument To Format Function
C6285C6285 Lógica- o de constantesLogical-Or Of Constants
C6286C6286 Es distinto de cero lógica- o la pérdida de efectos secundariosNon-Zero Logical-Or Losing Side Effects
C6287C6287 Prueba de redundanciaRedundant Test
C6288C6288 La inclusión mutua lógico- y es FalseMutual Inclusion Over Logical-And Is False
C6289C6289 La exclusión mutua sobre lógico- o es TrueMutual Exclusion Over Logical-Or Is True
C6290C6290 Prioridad entre operadores NOT lógico y AND bit a bitLogical-Not Bitwise-And Precedence
C6291C6291 Prioridad entre operadores NOT lógico y OR bit a bitLogical-Not Bitwise-Or Precedence
C6292C6292 Bucle cuenta desde máximoLoop Counts Up From Maximum
C6293C6293 Bucle de recuento de un mínimoLoop Counts Down From Minimum
C6294C6294 Nunca se ejecuta el cuerpo del bucleLoop Body Never Executed
C6295C6295 Bucle infinitoInfinite Loop
C6296C6296 Bucle que se ejecuta sólo una vezLoop Only Executed Once
C6297C6297 Resultado de desplazamiento se convierte en tamañoResult Of Shift Cast To Larger Size
C6299C6299 Campo de bits para la comparación booleanaBitfield To Boolean Comparison
C6302C6302 Argumento de cadena de caracteres no válido para la función de formatoInvalid Character String Argument To Format Function
C6303C6303 Argumento de cadena de caracteres anchos no válido para la función de formatoInvalid Wide Character String Argument To Format Function
C6305C6305 Error de coincidencia en el uso de size y countMismatched Size And Count Use
C6306C6306 Llamada incorrecta a función de argumento variableIncorrect Variable Argument Function Call
C6308C6308 Realloc pérdidaRealloc Leak
C6310C6310 Constante de filtro de excepción no válidoIllegal Exception Filter Constant
C6312C6312 Excepción continuar bucle de ejecuciónException Continue Execution Loop
C6314C6314 Bit a bit- o en la prioridadBitwise-Or Precedence
C6317C6317 No no complementoNot Not Complement
C6318C6318 Excepción continuar la búsquedaException Continue Search
C6319C6319 Pasa por alto por comaIgnored By Comma
C6324C6324 Copia de la cadena en lugar de comparación de cadenasString Copy Instead Of String Compare
C6328C6328 Error de coincidencia de tipo de argumento potencialPotential Argument Type Mismatch
C6331C6331 Marcas de VirtualFree no es válidoVirtualFree Invalid Flags
C6332C6332 Parámetro no válido de VirtualFreeVirtualFree Invalid Parameter
C6333C6333 Tamaño de VirtualFree no es válidoVirtualFree Invalid Size
C6335C6335 Pérdida de identificador de procesoLeaking Process Handle
C6381C6381 Falta la información de cierreShutdown Information Missing
C6383C6383 Número de elementos Byte-recuento de saturación del búferElement-Count Byte-Count Buffer Overrun
C6384C6384 División de tamaño de punteroPointer Size Division
C6385C6385 Saturación de lecturaRead Overrun
C6386C6386 Saturación de escrituraWrite Overrun
C6387C6387 Valor de parámetro no válidoInvalid Parameter Value
C6388C6388 Valor de parámetro no válidoInvalid Parameter Value
C6500C6500 Propiedad de atributo no válidaInvalid Attribute Property
C6501C6501 Valores de propiedad de atributo en conflictoConflicting Attribute Property Values
C6503C6503 Las referencias no pueden ser nullReferences Cannot Be Null
C6504C6504 Null en valores que no son de punteroNull On Non-Pointer
C6505C6505 MustCheck en valores voidMustCheck On Void
C6506C6506 Tamaño de búfer en valores que no son de puntero o matrizBuffer Size On Non-Pointer Or Array
C6508C6508 Acceso de escritura en valores constantesWrite Access On Constant
C6509C6509 Return usado en condición previaReturn Used On Precondition
C6510C6510 NullTerminated en valores que no son de punteroNull Terminated On Non-Pointer
C6511C6511 MustCheck debe ser Yes o NoMustCheck Must Be Yes Or No
C6513C6513 ElementSize sin tamaño de búferElement Size Without Buffer Size
C6514C6514 El tamaño del búfer supera el tamaño de la matrizBuffer Size Exceeds Array Size
C6515C6515 Tamaño de búfer en valores que no son de punteroBuffer Size On Non-Pointer
C6516C6516 No hay propiedades del atributoNo Properties On Attribute
C6517C6517 Tamaño válido en búfer no legibleValid Size On Non-Readable Buffer
C6518C6518 Tamaño de escritura en búfer no modificableWritable Size On Non-Writable Buffer
C6522C6522 Tipo de cadena de tamaño no válidoInvalid Size String Type
C6525C6525 Cadena de tamaño no válida, ubicación inaccesibleInvalid Size String Unreachable Location
C6527C6527 Anotación no válida: la propiedad 'NeedsRelease' no se puede usar en valores de tipo voidInvalid annotation: 'NeedsRelease' property may not be used on values of void type
C6530C6530 Estilo de cadena de formato no reconocidoUnrecognized Format String Style
C6540C6540 El uso de anotaciones de atributo en esta función invalidará todas las anotaciones __declspec existentesThe use of attribute annotations on this function will invalidate all of its existing __declspec annotations
C6551C6551 Especificación de tamaño no válido: no se puede analizar la expresiónInvalid size specification: expression not parsable
C6552C6552 Valor Deref= o Notref= no válido: no se puede analizar la expresiónInvalid Deref= or Notref=: expression not parsable
C6701C6701 Este no es un valor Yes/No/Maybe válidoThe value is not a valid Yes/No/Maybe value
C6702C6702 Este no es un valor de cadenaThe value is not a string value
C6703C6703 El valor no es un númeroThe value is not a number
C6704C6704 Error de expresión de anotación inesperadoUnexpected Annotation Expression Error
C6705C6705 El número esperado de argumentos para la anotación no coincide con el número real de argumentos para la anotaciónExpected number of arguments for annotation does not match actual number of arguments for annotation
C6706C6706 Error inesperado de la anotaciónUnexpected Annotation Error for annotation
C6995C6995 No se pudo guardar el archivo de registro XMLFailed to save XML Log file
C26100C26100 Condición de carreraRace condition
C26101C26101 No se puede usar operación entrelazado correctamenteFailing to use interlocked operation properly
C26110C26110 Autor de la llamada no puede contener el bloqueoCaller failing to hold lock
C26111C26111 Autor de la llamada no puede liberar el bloqueoCaller failing to release lock
C26112C26112 Autor de llamada no puede contener un bloqueoCaller cannot hold any lock
C26115C26115 No se puede liberar el bloqueoFailing to release lock
C26116C26116 Error al adquirir o para que contenga el bloqueoFailing to acquire or to hold lock
C26117C26117 Liberación de bloqueo unheldReleasing unheld lock
C26140C26140 Error de anotación SAL de simultaneidadConcurrency SAL annotation error
C28020C28020 La expresión no es verdadera en esta llamadaThe expression is not true at this call
C28021C28021 El parámetro que se va a anotar debe ser un punteroThe parameter being annotated must be a pointer
C28022C28022 Las clases de función en esta función no coinciden con las clases de función en la definición de tipo que se usa para definirlo.The function class(es) on this function do not match the function class(es) on the typedef used to define it.
C28023C28023 La función que se va a asignar o pasado debe tener un Function_class\ anotación para al menos una de las clasesThe function being assigned or passed should have a Function_class\ annotation for at least one of the class(es)
C28024C28024 El puntero de función que se asigna a se anota con la clase de función, que no se encuentra en la lista de clases de función.The function pointer being assigned to is annotated with the function class, which is not contained in the function class(es) list.
C28039C28039 El tipo de parámetro real debe coincidir exactamente con el tipoThe type of actual parameter should exactly match the type
C28112C28112 Siempre debe tener acceso a una variable que se obtiene acceso a través de una función Interlocked a través de una función Interlocked.A variable which is accessed via an Interlocked function must always be accessed via an Interlocked function.
C28113C28113 Obtener acceso a una variable local a través de una función InterlockedAccessing a local variable via an Interlocked function
C28125C28125 La función se debe invocar desde dentro de un bloque try / except bloqueThe function must be called from within a try/except block
C28137C28137 El argumento variable en su lugar, debe ser una constante (literal)The variable argument should instead be a (literal) constant
C28138C28138 El argumento constante en su lugar, debe ser variableThe constant argument should instead be variable
C28159C28159 Considere la posibilidad de usar otra función en su lugar.Consider using another function instead.
C28160C28160 Error (anotación)Error annotation
C28163C28163 La función nunca se debería llamar desde dentro de un bloque try / except bloqueThe function should never be called from within a try/except block
C28164C28164 El argumento se pasa a una función que espera un puntero a un objeto (no un puntero a un puntero)The argument is being passed to a function that expects a pointer to an object (not a pointer to a pointer)
C28182C28182 Desreferenciación de un puntero null.Dereferencing NULL pointer. El puntero contiene el mismo valor NULL que otro puntero.The pointer contains the same NULL value as another pointer did.
C28183C28183 El argumento puede ser un valor y es una copia del valor que se encuentra en el punteroThe argument could be one value, and is a copy of the value found in the pointer
C28193C28193 La variable contiene un valor que se debe examinarThe variable holds a value that must be examined
C28196C28196 No se cumple el requisito.The requirement is not satisfied. (La expresión no se evalúa como true.)(The expression does not evaluate to true.)
C28202C28202 Referencia no válida a un miembro no estáticoIllegal reference to non-static member
C28203C28203 Referencia ambigua a un miembro de la clase.Ambiguous reference to class member.
C28205C28205 Success\ o On_failure\ usados en un contexto no válidoSuccess\ or On_failure\ used in an illegal context
C28206C28206 El operando izquierdo señala a un struct, use '->'Left operand points to a struct, use '->'
C28207C28207 El operando izquierdo es un struct, use '->'Left operand is a struct, use '.'
C28209C28209 La declaración para el símbolo no tiene una declaración en conflictoThe declaration for symbol has a conflicting declaration
C28210C28210 Las anotaciones del contexto __on_failure no deben estar en un contexto previo explícitoAnnotations for the __on_failure context must not be in explicit pre context
C28211C28211 Se esperaba un nombre de contexto estático para SAL_contextStatic context name expected for SAL_context
C28212C28212 Se esperaba una expresión de puntero para la anotaciónPointer expression expected for annotation
C28213C28213 La anotación Use_decl_annotations\ se debe usar para hacer referencia, sin modificación, a una declaración anterior.The Use_decl_annotations\ annotation must be used to reference, without modification, a prior declaration.
C28214C28214 Los nombres de los parámetros de atributo deben ser p1...p9Attribute parameter names must be p1...p9
C28215C28215 typefix no se puede aplicar a un parámetro que ya tenga un typefixThe typefix cannot be applied to a parameter that already has a typefix
C28216C28216 La anotación checkReturn solamente se aplica a las condiciones posteriores del parámetro de la función específica.The checkReturn annotation only applies to postconditions for the specific function parameter.
C28217C28217 Para la función, el número de parámetros de la anotación no coincide con el encontrado en el archivoFor function, the number of parameters to annotation does not match that found at file
C28218C28218 Parámetro de la función, parámetro de la anotación no coincide con el encontrado en el archivoFor function parameter, the annotation's parameter does not match that found at file
C28219C28219 Se esperaba un miembro de enumeración para el parámetro de la anotaciónMember of enumeration expected for annotation the parameter in the annotation
C28220C28220 Se esperaba una expresión de entero para el parámetro de la anotaciónInteger expression expected for annotation the parameter in the annotation
C28221C28221 Se esperaba una expresión de cadena para el parámetro de la anotaciónString expression expected for the parameter in the annotation
C28222C28222 Se esperaba __yes, __no, o __maybe para la anotación__yes, __no, or __maybe expected for annotation
C28223C28223 No se encontró el token o identificador para la anotación, parámetroDid not find expected Token/identifier for annotation, parameter
C28224C28224 La anotación requiere parámetrosAnnotation requires parameters
C28225C28225 No se encontró el número correcto de parámetros necesarios en la anotaciónDid not find the correct number of required parameters in annotation
C28226C28226 La anotación no puede ser un PrimOp (en la declaración actual)Annotation cannot also be a PrimOp (in current declaration)
C28227C28227 La anotación no puede ser un PrimOp (consulte la declaración anterior)Annotation cannot also be a PrimOp (see prior declaration)
C28228C28228 Parámetro de anotación: no se puede usar un tipo en las anotacionesAnnotation parameter: cannot use type in annotations
C28229C28229 La anotación no admite parámetrosAnnotation does not support parameters
C28230C28230 El tipo de parámetro no tiene ningún miembro.The type of parameter has no member.
C28231C28231 La anotación solo es válida en la matrizAnnotation is only valid on array
C28232C28232 pre, post o deref no se aplican a ninguna anotaciónpre, post, or deref not applied to any annotation
C28233C28233 pre, post o deref se aplican a un bloquepre, post, or deref applied to a block
C28234C28234 La expresión __at no se aplica a la función actual__at expression does not apply to current function
C28235C28235 La función no puede actuar por sí sola como una anotaciónThe function cannot stand alone as an annotation
C28236C28236 La anotación no se puede usar en una expresiónThe annotation cannot be used in an expression
C28237C28237 La anotación del parámetro ya no se admiteThe annotation on parameter is no longer supported
C28238C28238 La anotación del parámetro tiene más de un valor, stringValue y longValueThe annotation on parameter has more than one of value, stringValue, and longValue. Use paramn=xxxUse paramn=xxx
C28239C28239 La anotación del parámetro tiene el valor stringValue o longValue, y paramn=xxx.The annotation on parameter has both value, stringValue, or longValue; and paramn=xxx. Use solo paramn=xxxUse only paramn=xxx
C28240C28240 La anotación del parámetro tiene param2 pero no param1The annotation on parameter has param2 but no param1
C28241C28241 La anotación para la función del parámetro no se reconoceThe annotation for function on parameter is not recognized
C28243C28243 La anotación para la función del parámetro requiere más desreferenciaciones de las que permite el tipo real anotadoThe annotation for function on parameter requires more dereferences than the actual type annotated allows
C28244C28244 La anotación de la función tiene una anotación de parámetro no es analizable/externoThe annotation for function has an unparsable parameter/external annotation
C28245C28245 La anotación para la función anota 'this' en una en una función no miembroThe annotation for function annotates 'this' on a non-member-function
C28246C28246 La anotación del parámetro para la función no coincide con el tipo del parámetroThe parameter annotation for function does not match the type of the parameter
C28250C28250 Anotación incoherente de la función: la instancia anterior tiene un error.Inconsistent annotation for function: the prior instance has an error.
C28251C28251 Anotación incoherente de la función: esta instancia tiene un error.Inconsistent annotation for function: this instance has an error.
C28252C28252 Anotación incoherente de la función: el parámetro tiene otra anotación en esta instancia.Inconsistent annotation for function: parameter has another annotations on this instance.
C28253C28253 Anotación incoherente de la función: el parámetro tiene otra anotación en esta instancia.Inconsistent annotation for function: parameter has another annotations on this instance.
C28254C28254 dynamic_cast<>() no se admite en anotacionesdynamic_cast<>() is not supported in annotations
C28262C28262 Se encontró un error de sintaxis de anotación en la función, para la anotaciónA syntax error in the annotation was found in function, for annotation
C28263C28263 Se encontró un error de sintaxis en una anotación condicional para la anotación intrínsecaA syntax error in a conditional annotation was found for Intrinsic annotation
C28267C28267 Se encontró un error de sintaxis de anotaciones en la función.A syntax error in the annotations was found annotation in the function.
C28272C28272 La anotación del parámetro de la función, al examinar su incoherencia con la declaración de la funciónThe annotation for function, parameter when examining is inconsistent with the function declaration
C28273C28273 Para la función, las pistas son incoherentes con la declaración de la funciónFor function, the clues are inconsistent with the function declaration
C28275C28275 El parámetro para Macro_value\ es nullThe parameter to Macro_value\ is null
C28279C28279 Para el símbolo, se encontró un 'begin' sin un 'end' coincidenteFor symbol, a 'begin' was found without a matching 'end'
C28280C28280 Para el símbolo, se encontró un 'end' sin un 'begin' coincidenteFor symbol, an 'end' was found without a matching 'begin'
C28282C28282 Las cadenas de formato deben estar en las condiciones previasFormat Strings must be in preconditions
C28285C28285 Para la función, error de sintaxis en el parámetroFor function, syntax error in parameter
C28286C28286 Para la función, error de sintaxis cerca del finalFor function, syntax error near the end
C28287C28287 Para la función, error de sintaxis en la anotación At\() (nombre de parámetro no reconocido)For function, syntax Error in At\() annotation (unrecognized parameter name)
C28288C28288 Para la función, error de sintaxis en la anotación At\() (nombre de parámetro no válido)For function, syntax Error in At\() annotation (invalid parameter name)
C28289C28289 Para la función: ReadableTo o WritableTo no tenían una especificación de límite como parámetroFor function: ReadableTo or WritableTo did not have a limit-spec as a parameter
C28290C28290 la anotación de la función contiene más valores External que el número real de parámetrosthe annotation for function contains more Externals than the actual number of parameters
C28291C28291 El valor null/notnull posterior en el nivel 0 de desreferenciación carece de sentido para la función.post null/notnull at deref level 0 is meaningless for function.
C28300C28300 Operandos de expresión de tipos no compatibles para el operadorExpression operands of incompatible types for operator
C28301C28301 No hay anotaciones para la primera declaración de la función.No annotations for first declaration of function.
C28302C28302 Se encontró un operador Deref\ adicional en la anotación.An extra Deref\ operator was found on annotation.
C28303C28303 Se encontró un operador Deref\ ambiguo en la anotación.An ambiguous Deref\ operator was found on annotation.
C28304C28304 Se encontró un operador Notref\ mal colocado aplicado al token.An improperly placed Notref\ operator was found applied to token.
C28305C28305 Se descubrió un error al analizar un token.An error while parsing a token was discovered.
C28306C28306 La anotación del parámetro es obsoletasThe annotation on parameter is obsolescent
C28307C28307 La anotación del parámetro es obsoletasThe annotation on parameter is obsolescent
C28350C28350 La anotación describe una situación no aplicable de forma condicional.The annotation describes a situation that is not conditionally applicable.
C28351C28351 La anotación describe dónde no se puede usar un valor dinámico (una variable) en la condición.The annotation describes where a dynamic value (a variable) cannot be used in the condition.