[last_is( limited-expression-list )]
proc1(
[in] short Last,
[in, last_is(Last)] short asNumbers[MAXSIZE]);
The field attribute last_is specifies the index of the last array element to be transmitted. When the specified index is zero or negative, no array elements are transmitted.
The last_is attribute determines the value of the array index corresponding to the length_is attribute when length_is is not specified. The relationship between these array indexes is as follows:
length = last - first + 1
If the value of the array index specified by first_is is larger than the value specified by last_is, zero elements are transmitted.
The last_is attribute cannot be used as a field attribute at the same time as the length_is attribute or the string attribute.
Using a constant expression with the last_is attribute is an inappropriate use of the attribute. It is legal, but inefficient, and will result in slower marshalling code.
When the value specified by max_is is equal to or greater than zero, the following relationship must be true:
0 <= last_is <= max_is
field_attributes, first_is, IDL, length_is, max_is, size_is