arrays 属性
配列は、インデックスまたは要素番号によってアクセスされるデータの同種のコレクションです。
typedef [ [type-attr-list] ] type-specifier [pointer-decl] array-declarator;
typedef [ [type-attr-list] ] struct [ tag ]
{
[ [ field-attribute-list ] ] type-specifier [pointer-decl] array-declarator;
...
};
typedef [ [type-attr-list] ] union [ tag ]
{
[ case (limited-expression [ , ... ] ) ]
[ [ field-attribute-list ] ] type-specifier [pointer-decl] array-declarator;
[ [ default ]
[ [ field-attribute-list ] ] type-specifier [pointer-decl] array-declarator;
]
};
[[ [function-attribute-list] ]] type-specifier [[pointer-decl]] function-name(
[[ [param-attr-list] ]] type-specifier [[pointer-decl]] array-declarator
, ...);
-
type-attr-list
-
型に適用される 0 個以上の属性を指定します。 有効な型属性には 、[handle]、 [switch_type]、 [transmit_as] があります。pointer 属性 [ref]、 [unique]、または [ptr];および使用法属性 [context_handle]、 [string]、および [ignore]。 複数の属性をコンマで区切ります。
-
type-specifier
-
型識別子、基本型、 構造体、 共用体、または 列挙型 を指定します。 型の指定には、オプションのストレージ仕様を含めることができます。
-
pointer-decl
-
0 個以上のポインター宣言子を指定します。 ポインター宣言子は、指定子、far などの修飾子、修飾子 const から*構築された、C で使用されるポインター宣言子と同じです。
-
array-declarator
-
配列の名前を指定し、その後に配列の各次元に対して次のいずれかのコンストラクトを指定します。"[ ]"、"[*]"、"[const1]"、または "[lower...upper]" 。 lower と upper は、下限と上限を表す定数値です。 下位の定数は 0 に評価される必要があります。
-
tag
-
構造体または共用体の省略可能なタグを指定します。
-
field-attribute-list
-
構造体、共用体メンバー、または関数パラメーターに適用される 0 個以上のフィールド属性を指定します。 有効なフィールド属性には 、[first_is]、[ last_is]、[ length_is]、[ max_is]、[ size_is]、使用法属性 [string]、 [ignore];ポインター属性 [ref]、 [unique]、および [ptr];union 属性 [switch_type]。 複数のフィールド属性をコンマで区切ります。 上記の属性 [first_is]、 [last_is]、および [無視] は共用体では無効であることに注意してください。
-
limited-expression
-
C 言語の式を指定します。 MIDL コンパイラは、条件式、論理式、リレーショナル式、および算術式をサポートします。 MIDL では、式での関数呼び出しは許可されず、インクリメント演算子とデクリメント演算子は許可されません。
-
function-attribute-list
-
関数に適用される 0 個以上の属性を指定します。 有効な関数属性は [callback], [local];pointer 属性 [ref]、 [unique]、または [ptr];と 使用法属性 [string]、 [context_handle]。
-
function-name
-
リモート プロシージャの名前を指定します。
-
param-attr-list
-
方向属性と、配列パラメーターに適用される 1 つ以上の省略可能なフィールド属性を指定します。 有効なフィールド属性には 、[max_is]、[ size_is]、[ length_is]、[ first_is]、[ last_is] があります。
MIDL の配列は、C および C++ とまったく同じではなく、 に似たスタイルを使用します。 詳細については、「 MIDL 配列」を参照してください。