Compartilhar via


Atributo last_is

O atributo de campo [last_is] especifica o índice do último elemento de matriz a ser transmitido. Quando o índice especificado é zero ou negativo, nenhum elemento de matriz é transmitido.

[last_is( limited-expression-list )]

Parâmetros

limited-expression-list

Especifica uma ou mais expressões de linguagem C. Cada expressão é avaliada como um inteiro que representa o índice de matriz do último elemento de matriz a ser transmitido. O compilador MIDL dá suporte a expressões condicionais, expressões lógicas, expressões relacionais e expressões aritméticas. MIDL não permite invocações de função em expressões e não permite operadores de incremento e decremento. Separe várias expressões com vírgulas.

Comentários

O atributo [last_is] determina o valor do índice de matriz correspondente ao atributo [length_is] quando [length_is] não é especificado. A relação entre esses índices de matriz é a seguinte: length = last - first + 1.

Se o valor do índice de matriz especificado por [first_is] for maior que o valor especificado por [last_is], nenhum elemento será transmitido.

O atributo [last_is] não pode ser usado como um atributo de campo ao mesmo tempo que o atributo [length_is] ou o atributo [string] .

Usar uma expressão constante com o atributo [last_is] é um uso inadequado do atributo. É legal, mas ineficiente e resultará em um código de marshaling mais lento.

Quando o valor especificado por [max_is] é igual ou maior que zero, a seguinte relação deve ser verdadeira: 0 <= last_is <= max_is.

Exemplos

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

Confira também

Atributos de campo

first_is

Arquivo IDL (Definição de Interface)

length_is

max_is

size_is