Share via


C28722

aviso C28722: buffer não anotado na declaração de função

Esse aviso indica que um buffer passado como um parâmetro de função ou retornado por uma função deve ser anotado com a SAL (linguagem de anotação de código-fonte) da Microsoft. As ferramentas de análise estática podem usar essas anotações para detectar estouros de buffer em tempo de compilação.

Atualmente, somente buffers não constantes são diagnosticados com esse aviso.

Exemplo

O exemplo de código a seguir gera esse aviso.

int foo( LPTSTR buffer, size_t cch );  

O exemplo de código a seguir evita esse aviso usando a _Out_writes_ de anotação SAL para especificar que a função chamada grava no buffer e que o buffer não pode ser NULL. A anotação indica que o buffer é de elementos cch .

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