last_is (atributo)
El atributo de campo [last_is] especifica el índice del último elemento de matriz que se va a transmitir. Cuando el índice especificado es cero o negativo, no se transmite ningún elemento de matriz.
[last_is( limited-expression-list )]
-
limited-expression-list
-
Especifica una o varias expresiones de lenguaje C. Cada expresión se evalúa como un entero que representa el índice de matriz del último elemento de matriz que se va a transmitir. El compilador MIDL admite expresiones condicionales, expresiones lógicas, expresiones relacionales y expresiones aritméticas. MIDL no permite invocaciones de función en expresiones y no permite operadores de incremento y decremento. Separe varias expresiones con comas.
El atributo [last_is] determina el valor del índice de matriz correspondiente al atributo [length_is] cuando no se especifica [length_is]. La relación entre estos índices de matriz es la siguiente: length = last - first + 1.
Si el valor del índice de matriz especificado por [first_is] es mayor que el valor especificado por [last_is], se transmiten cero elementos.
El atributo [last_is] no se puede usar como atributo de campo al mismo tiempo que el atributo [length_is] o el atributo [string].
El uso de una expresión constante con el atributo [last_is] es un uso inadecuado del atributo. Es legal, pero ineficaz, y dará como resultado una serialización más lenta del código.
Cuando el valor especificado por [max_is] es igual o mayor que cero, la siguiente relación debe ser true: 0 <= last_is <= max_is.
proc1(
[in] short Last,
[in, last_is(Last)] short asNumbers[MAXSIZE]);