Атрибут заметки
Атрибут [annotate] позволяет указать строку заметки SAL для указанного метода, параметра или поля структуры.
[ annotation(“stringâ€0, [, function-attribute-list] ] function-declarator ;
[ [function-attribute-list] ] type-specifier [pointer-declarator] function-name(
[ annotation(“stringâ€) [ , parameter-attribute-list ] ] type-specifier [declarator]
, ...);
-
строка
-
Указанная строка заметки SAL.
-
function-attribute-list
-
Задает ноль или несколько атрибутов, применяемых к функции. Допустимые атрибуты функции включают [обратный вызов]; атрибуты указателя [ссылка], [уникальный], или [ptr]; и атрибуты использования [string], [ignore] и [context_handle]. Несколько атрибутов должны быть разделены запятыми.
-
функция-декларатор
-
Указывает описатель типа, имя функции и список параметров для функции.
-
описатель типа
-
Указывает тип или идентификатор типа base_type, [структуру], объединение или [перечисление] . Необязательная спецификация хранилища может предшествовать спецификатору типа.
-
оператор pointer-declarator
-
Указывает ноль или более деклараторов указателей. Декларатор указателя совпадает с декларатором указателя, используемым в C; он создается из конструктора *, модификаторов, таких как far, и квалификатора [const].
-
имя функции
-
Указывает имя удаленной процедуры.
-
parameter-attribute-list
-
Задает ноль или несколько атрибутов, подходящих для типа параметра. Атрибуты параметра с атрибутом [in] также могут принимать атрибут направления [out]; атрибуты полей [first_is], [last_is], [length_is], [max_is], [size_is], и [switch_type]; атрибуты указателя [ссылка], [уникальный], или [ptr]; и атрибуты использования [context_handle] и [строка]. Атрибут использования [ignore] нельзя использовать в качестве атрибута параметра. Несколько атрибутов должны быть разделены запятыми.
-
declarator
-
Указывает стандартные деклараторы C, такие как идентификаторы, деклараторы указателей и деклараторы массива. Дополнительные сведения см. в разделах Атрибуты массива и Sized-Pointer, [массивы], Массивы и указатели. Декларатор параметров в деклараторе функции, например имя параметра, является необязательным.
Атрибут [annotate] позволяет переопределять заметки SAL, созданные MIDL, или добавлять их в местах, где MIDL явно не создает заметку. Если параметр /sal не указан в командной строке, этот атрибут игнорируется.