max _ 為 attribute

[ Max _ 為 attribute ] 會 指定有效陣列索引的最大值。

[max_is(limited-expression-list )]

參數

有限運算式清單

指定一或多個 C 語言運算式。 每個運算式都會評估為表示最高有效陣列索引的整數。 MIDL 編譯器支援條件運算式、邏輯運算式、關聯式運算式和算術運算式。 MIDL 不允許運算式中的函式呼叫,也不允許遞增和遞減運算子。 以逗號分隔多個運算式。

備註

Max of 屬性不一定會對應到陣列中的元素數目。 [ _ ] 若為 C 中大小為 n 的陣列,其中第一個陣列元素為元素編號零,則有效陣列索引的最大值為 n–1。

[ _ ] [ size _ 為attribute 時,max as 屬性不能同時當做 field 屬性使用 ]

雖然使用 [ max _ 是 ] 具有常數運算式的屬性是合法的,但這麼做並不具效率。 例如,使用固定大小陣列:

/* transmits values of a[0]... a[MAX_SIZE-1] */ 
HRESULT Proc3([in] short Arr[MAX_SIZE]); 

而非:

/* legal but marshaling code is much slower */ 
HRESULT Proc3([in max_is(MAX_SIZE-1)] short Arr[] );

範例

/* if m = 10, there are 11 transmitted elements (a[0]...a[10])*/ 
HRESULT Proc1( 
    [in] short m, 
    [in, max_is(m)] short a[]);  
 
/* if m = 10, the valid range for b is b[0...10][20] */ 
HRESULT Proc2( 
    [in] short m, 
    [in, max_is(m)] short b[][20];

另請參閱

欄位屬性

(IDL) 檔案的介面定義

最小值 _ 為

大小 _ 為