Advertencia C6518

Anotación no válida: es posible que la propiedad "SAL_writableTo" no se especifique como condición previa en los búferes que no se pueden escribir: "Parameter".

Comentarios

Esta advertencia indica que existe un conflicto entre un valor de propiedad SAL_writableTo y una propiedad grabable. La advertencia normalmente indica que una propiedad grabable no tiene acceso de escritura al parámetro anotado.

Nombre del análisis de código: WRITABLE_SIZE_ON_NON_WRITABLE_BUFFER

Ejemplo

El código siguiente genera esta advertencia porque la _Out_ anotación se compila para incluir una SAL_writableTo propiedad, que no permite el acceso de escritura:

#include <sal.h>
void f(_Out_ const char* pc)
{
    //code that can't write to *pc ...
}

Para corregir esta advertencia, utilice el código siguiente:

#include <sal.h>
void f(_Out_  char* pc)
{
    pc = "Hello World";
    //code ...
}