Advertencia C6516

Anotación no válida: ninguna propiedad especificada para el atributo 'name'

Nota:

Esta advertencia solo se produce en el código que usa una versión en desuso del lenguaje de anotación de código fuente (SAL). Se recomienda realizar la portabilidad del código para usar la versión más reciente de SAL. Para más información, consulte Uso de anotaciones SAL para reducir los defectos en el código de C/C++.

Comentarios

Esta advertencia indica que no se especificó ninguna propiedad en el atributo o la propiedad que se especificó no es válida; por lo tanto, el atributo no se puede considerar completado.

Nombre del análisis de código: NO_PROPERTIES_ON_ATTRIBUTE

Ejemplo

El código siguiente genera esta advertencia porque Deref=1 solo especifica el nivel de direccionamiento indirecto, pero esta información solo no ayuda a la herramienta de análisis:

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(Deref=1)] char* pc);

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f([Pre(Deref=1)] char* pc);

Para corregir esta advertencia, se requiere otra propiedad, como Access, para indicar a la herramienta de análisis lo que se debe aplicar en los elementos a los que no se hace referencia. El código siguiente corrige esta advertencia:

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(Deref=1, Access=SA_Read)] char* pc);

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f([Pre(Deref=1, Access=Read)] char* pc);