C6518

C6518 de aviso: Anotação inválido: A propriedade “SAL_writableTo” não pode ser especificada como um pré-requisito nos buffers que não são gravável: “_Param_ (1)”

Esse aviso indica que há um conflito entre um valor da propriedade de SAL_writableTo e uma propriedade gravável.Isso normalmente indica que uma propriedade gravável não tem acesso de gravação ao parâmetro que está sendo anotado.

Exemplo

O código a seguir gerenciar esse aviso porque a anotação de _Out_ criado para incluir uma propriedade de SAL_writableTo , que não permite o acesso de gravação:

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

Para corrigir esse aviso, use o seguinte código:

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