last_is 属性

フィールド属性 [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] 属性または [文字列] 属性と同時にフィールド属性として使用することはできません

[last_is] 属性で定数式を使用することは、属性の不適切な使用です。 これは合法ですが、非効率的であり、コードのマーシャリングが遅くなります。

[max_is] で指定した値が 0 以上の場合は、0 <= last_is <= max_isのリレーションシップを指定する必要があります。

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

関連項目

フィールド属性

first_is

インターフェイス定義 (IDL) ファイル

length_is

max_is

size_is