annotare l'attributo
L'attributo [annotate] consente di specificare una stringa di annotazione SAL per il campo di metodo, parametro o struttura specificato.
[ 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
-
Stringa di annotazione SAL specificata.
-
function-attribute-list
-
Specifica zero o più attributi che si applicano alla funzione. Gli attributi di funzione validi includono [callback]; gli attributi del puntatore [ref], [unique]o [ptr]; e gli attributi di utilizzo [string], [ignore], e [context_handle]. Più attributi devono essere separati da virgole.
-
function-declarator
-
Specifica l'identificatore di tipo, il nome della funzione e l'elenco di parametri per la funzione.
-
type-specifier
-
Specifica un tipo o un identificatore di tipo base_type, [struct], union o [enum]. Una specifica di archiviazione facoltativa può precedere l'identificatore di tipo.
-
puntatore-dichiaratore
-
Specifica zero o più dichiaratori del puntatore. Un dichiaratore puntatore è lo stesso di un dichiaratore di puntatore usato in C; viene costruito dal designatore *, modificatori come per lontano e qualificatore [const].
-
function-name
-
Specifica il nome della routine remota.
-
parameter-attribute-list
-
Specifica zero o più attributi appropriati per il tipo di parametro. Gli attributi dei parametri con l'attributo [in] possono anche accettare l'attributo direzionale [out]; gli attributi del campo [first_is], [last_is], [length_is], [max_is], [size_is], e [switch_type]; gli attributi del puntatore [ref], [unique]o [ptr]; e gli attributi di utilizzo [context_handle] e [string]. L'attributo di utilizzo [ignore] non può essere usato come attributo di parametro. Più attributi devono essere separati da virgole.
-
Dichiaratore
-
Specifica i dichiaratori C standard, ad esempio identificatori, dichiaratori di puntatore e dichiaratori di matrice. Per altre informazioni, vedere Attributi di matrice e Sized-Pointer, [matrici], matrici e puntatori. Il dichiaratore di parametro nel dichiaratore di funzione, ad esempio il nome del parametro, è facoltativo.
L'attributo [annotate] consente di eseguire l'override delle annotazioni SAL generate da MIDL o di aggiungerle in posizioni in cui MIDL non genera in modo esplicito un'annotazione. Se /sal non è specificato nella riga di comando, questo attributo viene ignorato.