first_is (attribut)

L’attribut [first_is] spécifie l’index du premier élément de tableau à transmettre.

first_is(limited-expression-list)

Paramètres

limited-expression-list

Spécifie une ou plusieurs expressions en langage C. Chaque expression prend la valeur d’un entier qui représente l’index de tableau du premier élément de tableau à transmettre. 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. Séparez plusieurs expressions par des virgules.

Notes

Si l’attribut [first_is] n’est pas présent ou si l’index spécifié est un nombre négatif, l’élément de tableau zéro est le premier élément transmis.

L’attribut [first_is] peut également aider à déterminer les valeurs des index de tableau correspondant à l’attribut [last_is] ou [length_is] lorsque ces attributs ne sont pas spécifiés. La relation entre ces index de tableau est la suivante :

length = last - first + 1

La relation suivante doit également contenir :

0 <= first_is <= max_is

La relation suivante doit être conservée lorsque [max_is] <= 0 :

first_is == 0

L’attribut [first_is] ne peut pas être utilisé en même temps que l’attribut [string].

L’utilisation d’une expression constante avec l’attribut [first_is] est une utilisation inappropriée de l’attribut. Il est légal, mais inefficace, et entraînera un marshaling plus lent.

Exemples

HRESULT Proc1(
    [in] short First,
    [first_is(First)] Arr[10]);

Voir aussi

field_attributes

Fichier de définition d’interface (IDL)

last_is

length_is

max_is

min_is

size_is

string