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
-
指定套用至型別的零個或多個屬性。 有效的類型屬性包括 [handle]、 [switch_type]、 [transmit_as];指標屬性 [ref]、 [unique]或 [ptr];和使用屬性 [coNtext_handle]、 [string]和 [ignore]。 以逗號分隔多個屬性。
-
type-specifier
-
pointer-decl
-
指定零個或多個指標宣告子。 指標宣告子與 C 中使用的指標宣告子相同,其建構自 * 指示項、 遠方修飾詞,以及限定詞 const。
-
array-declarator
-
指定陣列的名稱,後面接著陣列每個維度的下列其中一個建構:「[ ]」、「[*]」、「[const1]」 或 「[lower...upper]「,其中 lower 和 upper 是代表下限和上限的常數值。 較低的常數必須評估為零。
-
標記
-
指定結構或等位的選擇性標記。
-
field-attribute-list
-
指定套用至結構、等位成員或函式參數的零個或多個欄位屬性。 有效的欄位屬性包括[first_is]、[last_is]、[length_is]、[max_is]、[size_is];使用屬性[string], 和[ignore];指標屬性[ref]、[unique]和[ptr];和等位屬性[switch_type]。 以逗號分隔多個欄位屬性。 請注意,上述 屬性 [first_is]、 [last_is]和 [ignore] 對等位無效。
-
limited-expression
-
指定 C 語言運算式。 MIDL 編譯器支援條件運算式、邏輯運算式、關聯運算式和算術運算式。 MIDL 不允許運算式中的函式呼叫,而且不允許遞增和遞減運算子。
-
function-attribute-list
-
指定套用至函式的零個或多個屬性。 有效的函式屬性為 [callback], [local];指標屬性 [ref]、 [unique]或 [ptr];和使用屬性 [string], 和 [coNtext_handle]。
-
function-name
-
指定遠端程式的名稱。
-
param-attr-list
-
指定方向屬性,以及套用至陣列參數的一或多個選擇性欄位屬性。 有效的欄位屬性包括[max_is]、[size_is]、[length_is]、[first_is]和[last_is]。
MIDL 中的陣列使用類似 但與 C 和 C++ 完全相同的樣式。 如需詳細資訊,請參閱 MIDL 陣列。