annotate attribute
El atributo [anotación] permite especificar una cadena de anotación SAL para el método, el parámetro o el campo de estructura especificados.
[ 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]
, ...);
-
string
-
Cadena de anotación SAL especificada.
-
function-attribute-list
-
Especifica cero o más atributos que se aplican a la función. Los atributos de función válidos incluyen [devolución de llamada]; los atributos de puntero [ref], [unique]o [ptr]; y los atributos de uso [string], [ignore]y [context_handle]. Varios atributos deben estar separados por comas.
-
function-declarator
-
Especifica el especificador de tipo, el nombre de función y la lista de parámetros de la función.
-
type-specifier
-
Especifica un tipo o identificador de tipo de base_type, [struct], union o [enum]. Una especificación de almacenamiento opcional puede preceder al especificador de tipos.
-
pointer-declarator
-
Especifica cero o más declaradores de puntero. Un declarador de puntero es el mismo que un declarador de puntero utilizado en C; se construye a partir del designador * , modificadores como far y el calificador [const].
-
function-name
-
Especifica el nombre del procedimiento remoto.
-
parameter-attribute-list
-
Especifica cero o más atributos adecuados para el tipo de parámetro. Los atributos de parámetro con el atributo [in] también pueden tomar el atributo direccional [out]; los atributos de campo [first_is], [last_is], [length_is], [max_is], [size_is]y [switch_type]; los atributos de puntero [ref], [unique]o [ptr]; y los atributos de uso [context_handle] y [string]. El atributo de uso [ignore] no se puede usar como atributo de parámetro. Varios atributos deben estar separados por comas.
-
declarator
-
Especifica declaradores de C estándar, como identificadores, declaradores de puntero y declaradores de matriz. Para obtener más información, vea Atributos de matriz y Sized-Pointer, [matrices] y matrices y punteros. El declarador de parámetros en el declarador de función, como el nombre del parámetro, es opcional.
El atributo [anotación] permite invalidar anotaciones SAL generadas por MIDL o agregarlas en lugares donde MIDL no genera explícitamente una anotación. Si no se especifica /sal en la línea de comandos, se omite este atributo.