Array, attribut
Les tableaux sont des collections homogènes de données accessibles par un numéro d’index ou d’élément.
typedef [ [type-attr-list] ] type-specifier [pointer-decl] array-declarator;
typedef [ [type-attr-list] ] struct [ tag ]
{
[ [ field-attribute-list ] ] type-specifier [pointer-decl] array-declarator;
...
};
typedef [ [type-attr-list] ] union [ tag ]
{
[ case (limited-expression [ , ... ] ) ]
[ [ field-attribute-list ] ] type-specifier [pointer-decl] array-declarator;
[ [ default ]
[ [ field-attribute-list ] ] type-specifier [pointer-decl] array-declarator;
]
};
[[ [function-attribute-list] ]] type-specifier [[pointer-decl]] function-name(
[[ [param-attr-list] ]] type-specifier [[pointer-decl]] array-declarator
, ...);
Paramètres
-
type-attr-List
-
Spécifie zéro, un ou plusieurs attributs qui s’appliquent au type. Les attributs de type valides incluent [ ] handle, [ _ ] type de commutateur, [ transmettre _ en tant que ]; l’attribut de pointeur [ Ref ], [ unique ]ou [ ptr ]; et les attributs d’utilisation [ _ handle ] de contexte, [ chaîne ]et [ Ignorer ]. Séparez plusieurs attributs par des virgules.
-
spécificateur de type
-
Spécifie l’identificateur de type, le type de base, le struct, l' Unionou le type enum . La spécification de type peut inclure une spécification de stockage facultative.
-
pointeur-decl
-
Spécifie zéro ou plusieurs déclarateurs de pointeur. Un déclarateur de pointeur est le même que le déclarateur de pointeur utilisé en C, construit à partir de l' * indicateur _, des modificateurs tels que _ Far et le qualificateur const.
-
déclarateur de tableau
-
Spécifie le nom du tableau, suivi de l’une des constructions suivantes pour chaque dimension du tableau : «**[ ]**», « [*] », « [ Const1 ] » ou « [ Lower... Upper ] », où Lower et Upper sont des valeurs constantes qui représentent les limites inférieure et supérieure. La constante inférieure doit être égale à zéro.
-
étiquette
-
Spécifie une balise facultative pour la structure ou l’Union.
-
Field-attribute-List
-
Spécifie zéro, un ou plusieurs attributs de champ qui s’appliquent à la structure, au membre d’Union ou au paramètre de fonction. Les attributs de champ valides sont [ First _ ]is, [ Last _ is ], [ Length _ ]is, [ Max _ is ], [ size _ is ], the usage Attributes [ String ]et [ ignore ]; les attributs de pointeur [ Ref ], [ unique ]et [ ptr ]; et le [ _ type ] de commutateurd’Union. Séparez plusieurs attributs de champ par des virgules. Notez que les attributs répertoriés ci-dessus, le [ premier _ ] est, le [ dernier _ est ], et [ Ignorer ] ne sont pas valides pour les unions.
-
Limited-expression
-
Spécifie une expression de langage C. Le compilateur MIDL prend en charge les expressions conditionnelles, les expressions logiques, les expressions relationnelles et les expressions arithmétiques. MIDL n’autorise pas les appels de fonction dans les expressions et n’autorise pas les opérateurs d’incrémentation et de décrémentation.
-
function-attribute-List
-
Spécifie zéro, un ou plusieurs attributs qui s’appliquent à la fonction. Les attributs de fonction valides sont [ callback ], [ ] local, l’attribut de pointeur [ Ref ], [ unique ]ou [ ptr ]; et la [ chaîne ]d’attributs d’utilisation et le [ _ handle ] de contexte.
-
nom de fonction
-
Spécifie le nom de la procédure distante.
-
Param-attr-List
-
Spécifie les attributs directionnels et un ou plusieurs attributs de champ facultatifs qui s’appliquent au paramètre de tableau. Les attributs de champ valides incluent [ Max _ is ], [ size _ ] is, [ Length _ is ], [ First _ is ]et [ Last _ is ].
Notes
Les tableaux dans MIDL utilisent un style semblable à, mais pas exactement identiques à C et C++. Pour plus d’informations, consultez tableaux MIDL.