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 )]

Parámetros

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.

Comentarios

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.

Ejemplos

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

Vea también

Atributos de campo

first_is

Archivo de definición de interfaz (IDL)

length_is

max_is

size_is