annoter l’attribut

L’attribut [annotate] vous permet de spécifier une chaîne d’annotation SAL pour la méthode, le paramètre ou le champ de structure spécifié.

[ 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]
    , ...);

Paramètres

string

Chaîne d’annotation SAL spécifiée.

function-attribute-list

Spécifie zéro ou plusieurs attributs qui s’appliquent à la fonction. Les attributs de fonction valides incluent [callback]; attributs de pointeur [ref], [unique] ou [ptr]; et les attributs d’utilisation [string], [ignore] et [context_handle]. Plusieurs attributs doivent être séparés par des virgules.

déclarateur de fonction

Spécifie le spécificateur de type, le nom de la fonction et la liste de paramètres de la fonction.

spécificateur de type

Spécifie un base_type, [struct], union ou [enum] type ou identificateur de type. Une spécification de stockage facultative peut précéder le spécificateur de type.

déclarateur de pointeur

Spécifie zéro ou plusieurs déclarateurs de pointeur. Un déclarateur de pointeur est le même qu’un déclarateur de pointeur utilisé en C ; il est construit à partir de l’indicateur *, modificateurs tels que le qualificateur et le qualificateur [const].

nom de fonction

Spécifie le nom de la procédure distante.

parameter-attribute-list

Spécifie zéro ou plusieurs attributs appropriés pour le type de paramètre. Les attributs de paramètre avec l’attribut [in] peuvent également prendre l’attribut directionnel [out]; les attributs de champ [first_is], [last_is], [length_is], [max_is], [size_is] et [switch_type]; attributs de pointeur [ref], [unique] ou [ptr]; et les attributs d’utilisation [context_handle] et [string]. L’attribut d’utilisation [ignore] ne peut pas être utilisé comme attribut de paramètre. Plusieurs attributs doivent être séparés par des virgules.

declarator

Spécifie les déclarateurs C standard, tels que les identificateurs, les déclarateurs de pointeur et les déclarateurs de tableau. Pour plus d’informations, consultez Array et Sized-Pointer Attributes, [arrays] et Arrays and Pointers. Le déclarateur de paramètre dans le déclarateur de fonction, tel que le nom du paramètre, est facultatif.

Notes

L’attribut [annotate] permet de remplacer les annotations SAL générées par MIDL ou de les ajouter à des endroits où MIDL ne génère pas explicitement d’annotation. Si /sal n’est pas spécifié sur la ligne de commande, cet attribut est ignoré.

Voir aussi

Syntaxe générale de ligne de commande MIDL

/sal

/sal_local