フィールド属性
フィールド属性は、配列、構造体、共用体、または文字配列のフィールドに適用できる属性です。
たとえば、フィールド属性は配列宣言と組み合わせて使用され、配列のサイズまたは有効なデータを含む配列の部分を指定します。 これを行うには、別のパラメーター、構造体フィールド、または定数式を配列に関連付けます。
[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]を参照してください。
[文字列] フィールド属性は、1 次元文字またはバイト配列、または 0 で終わる文字またはバイト ストリームへのポインターを文字列として扱うことが指定されます。 文字列属性は、1 次元配列とポインターにのみ適用されます。 要素型は、char、バイト、wchar_t、またはこれらの型のいずれかに解決される名前付き型に制限されます。
フィールド属性が表示されるコンテキストの詳細については、「MIDL 配列、MIDL 構造体、および MIDL 共用体を参照してください。