フィールド属性
フィールド属性は、配列、構造体、共用体、または文字配列のフィールドに適用できる属性です。
たとえば、フィールド属性は配列宣言と組み合わせて使用され、配列のサイズまたは有効なデータを含む配列の部分を指定します。 これは、別のパラメーター、構造体フィールド、または定数式を配列に関連付けることによって行われます。
[ignore] 属性は、マーシャリング 処理中に無視されるポインター フィールドを指定します。 このような無視されたフィールドは、受信側で NULL に設定されます。
MIDL は、 準拠した 、変化する、 および開いている 配列を提供します。 配列は、実行時に境界が決定されると、準拠と呼ばれます。 [size_is] 属性は配列の割り当てサイズの上限を指定し、[max_is] 属性は有効な配列インデックスの値の上限を指定します。 詳細については、「配列」を参照してください。
配列は、コンパイル時に境界が決定される場合に異なると呼ばれますが、送信される要素の範囲は実行時に決定されます。 オープン配列 (準拠する変化する配列とも呼ばれます) は、実行時に送信される要素の上限と範囲が決定される配列です。 配列の送信される要素の範囲を決定するには、配列宣言に [length_is]、[first_is]、または [last_is] 属性を含める必要があります。
[length_is] 属性は、送信する配列要素の数を指定し、[first_is] 属性は、送信する最初の配列要素のインデックスを指定します。 [last_is] 属性は、最後に送信される配列要素のインデックスを指定します。
[switch_is] フィールド属性は、共用体識別子を指定します。 共用体がプロシージャー・パラメーターの場合、共用体判別装置は同じプロシージャーの別のパラメーターでなければなりません。 共用体が構造体のフィールドである場合、判別子は共用体フィールドと同じレベルの構造体の別のフィールドでなければなりません。 識別子は、 ブール型、 char 型、 int 型、または 列挙型 、またはこれらの型のいずれかに解決される型である必要があります。 詳細については、「 非カプセル化された共用体 」および 「[switch_is]」を参照してください。
[string] フィールド属性は、1 次元の文字またはバイト配列、または 0 で終わる文字またはバイト ストリームへのポインターが文字列として扱われることを指定します。 文字列属性は、1 次元配列とポインターにのみ適用されます。 要素型は、 char、 byte、 wchar_t、またはこれらの型のいずれかに解決される名前付き型に制限されます。
フィールド属性が表示されるコンテキストの詳細については、「 MIDL 配列、 MIDL 構造体、および MIDL 共用体」を参照してください。