Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
предупреждение C28741: ненататированный буфер в функции
Это предупреждение указывает, что буфер, переданный в качестве параметра функции или возвращаемый функцией, должен быть аннотирован языком заметки исходного кода Майкрософт (SAL). Средства статического анализа могут использовать такие заметки для обнаружения переполнения буфера.
В настоящее время с этим предупреждением диагностируются только неконстантные строковые буферы. В идеале все буферы, передаваемые в качестве параметров функции или возвращаемые функциями, должны быть аннотированы. Массивы wchar_t или char являются кандидатами на это предупреждение. В настоящее время неподписанные chars не являются.
Следующий пример кода создает это предупреждение.
int foo( LPTSTR buffer, size_t cch );
В следующем примере кода избежать этого предупреждения с помощью заметки SAL _Out_writes_ указать, что вызываемая функция записывает в буфер и что буфер не может иметь значение NULL. Заметка указывает, что буфер состоит из элементов cch.
int foo(_Out_writes_(cch) LPTSTR buffer, size_t cch );