C28741
avviso C28741: buffer non annotato nella funzione
Questo avviso indica che un buffer passato come parametro di funzione o restituito da una funzione deve essere annotato con il linguaggio di annotazione del codice sorgente Microsoft (SAL). Gli strumenti di analisi statici possono usare tali annotazioni per rilevare i sovraccarichi del buffer.
Attualmente, solo i buffer di stringa non costanti vengono diagnosticati con questo avviso. Idealmente, tutti i buffer passati come parametri di funzione o restituiti dalle funzioni devono essere annotati. Le matrici di wchar_t o char sono candidati per questo avviso. I caratteri non firmati non sono attualmente.
Esempio
Nell'esempio seguente viene generato questo avviso.
int foo( LPTSTR buffer, size_t cch );
Nell'esempio di codice seguente viene evitato questo avviso usando l'annotazione SAL _Out_writes_ per specificare che la funzione chiamata scrive nel buffer e che il buffer non può essere NULL. L'annotazione indica che il buffer è di elementi cch .
int foo(_Out_writes_(cch) LPTSTR buffer, size_t cch );