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