Condividi tramite


Avviso C6518

Annotazione non valida: la proprietà 'SAL_writableTo' potrebbe non essere specificata come precondizione nei buffer che non sono scrivibili: 'Parameter'.

Osservazioni:

L'avviso indica l'esistenza di un conflitto tra il valore della proprietà SAL_writableTo e una proprietà modificabile. L'avviso indica in genere che una proprietà scrivibile non ha accesso in scrittura al parametro annotato.

Nome dell'analisi del codice: WRITABLE_SIZE_ON_NON_WRITABLE_BUFFER

Esempio

Il codice seguente genera questo avviso perché l'annotazione _Out_ viene compilata per includere una SAL_writableTo proprietà che non consente l'accesso in scrittura:

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

Per correggere questo avviso, usare il codice seguente:

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