Предупреждение C28285

Для функции "function-name", синтаксическая ошибка в "заметке"

Замечания

Средство анализа кода сообщает это предупреждение об ошибках синтаксиса в заметке SAL. Средство синтаксического анализа SAL будет восстановлено путем отключения карта неправильно сформированной заметки. Дважды проверка документацию по используемым заметкам SAL и попробуйте упростить заметку. Не следует использовать заметки уровня реализации, такие как напрямую __declspec("SAL_begin") . Если вы используете этот слой, измените их на более высокие уровни, например_In__Ret_/_Out_/. Дополнительные сведения см. в разделе "Аннотирование параметров функции" и "Возвращаемые значения".

Пример

Следующий код создает это предупреждение. Аргумент (2,n) неправильно сформирован и вызывает предупреждение C28285 после _Out_writes_z_ развертывания макроса.

void example_func(_Out_writes_z_((2,n)) char* buffer, int n)
{
    buffer[n] = '\0';
}

Следующий код исправляет это предупреждение путем исправления неправильно сформированной заметки

void example_func(_Out_writes_z_(n) char* buffer, int n)
{
    buffer[n] = '\0';
}