last_is (attribut)

L’attribut de champ [last_is] spécifie l’index du dernier élément de tableau à transmettre. Lorsque l’index spécifié est nul ou négatif, aucun élément de tableau n’est transmis.

[last_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 dernier é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

L’attribut [last_is] détermine la valeur de l’index de tableau correspondant à l’attribut [length_is] lorsque [length_is] n’est pas spécifié. La relation entre ces index de tableau est la suivante : length = last - first + 1.

Si la valeur de l’index de tableau spécifié par [first_is] est supérieure à la valeur spécifiée par [last_is], aucun élément n’est transmis.

L’attribut [last_is] ne peut pas être utilisé comme attribut de champ en même temps que l’attribut [length_is] ou l’attribut [string].

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

Lorsque la valeur spécifiée par [max_is] est égale ou supérieure à zéro, la relation suivante doit avoir la valeur true : 0 <= last_is <= max_is.

Exemples

proc1(
    [in] short Last,
    [in, last_is(Last)] short asNumbers[MAXSIZE]);

Voir aussi

Attributs de champ

first_is

Fichier de définition d’interface (IDL)

length_is

max_is

size_is