last_is 属性
field 属性 [last_is] は 、最後に送信される配列要素のインデックスを指定します。 指定したインデックスが 0 または負の場合、配列要素は送信されません。
[last_is( limited-expression-list )]
-
limited-expression-list
-
1 つ以上の C 言語式を指定します。 各式は、最後に送信される配列要素の配列インデックスを表す整数に評価されます。 MIDL コンパイラは、条件式、論理式、リレーショナル式、および算術式をサポートします。 MIDL では、式での関数呼び出しは許可されず、インクリメント演算子とデクリメント演算子は許可されません。 複数の式をコンマで区切ります。
[last_is] 属性は、[length_is] が指定されていない場合、[length_is] 属性に対応する配列インデックスの値を決定します。 これらの配列インデックス間の関係は、length = last - first + 1 です。
[first_is] で指定された配列インデックスの値が [last_is] で指定された値より大きい場合は、0 個の要素が送信されます。
[last_is] 属性は、[length_is] 属性または [string] 属性と同時にフィールド属性として使用することはできません。
[last_is] 属性で定数式を使用することは、 属性の不適切な使用です。 これは有効ですが非効率的であり、コードのマーシャリングが遅くなります。
[max_is] で指定された値が 0 以上の場合、0 <= last_is <= max_is のリレーションシップが true である必要があります。
proc1(
[in] short Last,
[in, last_is(Last)] short asNumbers[MAXSIZE]);