C28722

advertencia C28722: Búfer no anotado en la declaración de función

Esta advertencia indica que un búfer pasado como parámetro de función o devuelto por una función debe anotarse con el lenguaje anotación de código fuente (SAL) de Microsoft. Las herramientas de análisis estático pueden usar estas anotaciones para detectar saturaciones del búfer en tiempo de compilación.

Actualmente, solo se diagnostican búferes que no son constantes con esta advertencia.

Ejemplo

En el ejemplo de código siguiente se genera esta advertencia.

int foo( LPTSTR buffer, size_t cch );  

En el ejemplo de código siguiente se evita esta advertencia mediante la anotación SAL _Out_writes_ para especificar que la función llamada escribe en el búfer y que el búfer no puede ser NULL. La anotación indica que el búfer es de elementos cch .

int foo( _Out_writes_(cch) LPTSTR buffer, size_t cch );