attribut arrays

Les tableaux sont des collections homogènes de données accessibles par un index ou un numéro 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 ou plusieurs attributs qui s’appliquent au type. Les attributs de type valides incluent [handle], [switch_type], [transmit_as]; l’attribut pointeur [ref], [unique] ou [ptr]; et les attributs d’utilisation [context_handle],[string] et [ignore]. Séparez plusieurs attributs par des virgules.

type-specifier

Spécifie l’identificateur de type, le type de base, le struct, l’union ou le type d’énumération . La spécification de type peut inclure une spécification de stockage facultative.

pointer-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é dans C, construit à partir de l’indicateur * , des modificateurs tels que far et du qualificateur const.

array-declarator

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 évaluée à zéro.

étiquette

Spécifie une balise facultative pour la structure ou l’union.

field-attribute-list

Spécifie zéro ou plusieurs attributs de champ qui s’appliquent au paramètre de structure, de membre d’union ou de fonction. Les attributs de champ valides sont [first_is], [last_is], [length_is], [max_is], [size_is]; les attributs d’utilisation [string] et [ignore] ; les attributs de pointeur [ref], [unique] et [ptr]; et l’attribut union [switch_type]. Séparez plusieurs attributs de champ par des virgules. Notez que parmi les attributs répertoriés ci-dessus, [first_is],[last_is] et [ignore] ne sont pas valides pour les unions.

expression limitée

Spécifie une expression en 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 ou plusieurs attributs qui s’appliquent à la fonction. Les attributs de fonction valides sont [callback], [local]; l’attribut pointeur [ref], [unique] ou [ptr]; et les attributs d’utilisation [string], et [context_handle].

function-name

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 similaire à C et C++, mais pas exactement le même. Pour plus d’informations, consultez Tableaux MIDL.

Voir aussi

rappel

const

context_handle

Enum

first_is

Poignée

Fichier de définition d’interface (IDL)

Ignorer

last_is

length_is

Local

max_is

Ptr

Ref

size_is

String

Struct

switch_type

transmit_as

Union

Unique