first_is 屬性
[first_is] 屬性會指定要傳輸之第一個陣列專案的索引。
first_is(limited-expression-list)
-
limited-expression-list
-
指定一或多個 C 語言運算式。 每個運算式都會評估為整數,代表要傳輸之第一個陣列專案的陣列索引。 MIDL 編譯器支援條件運算式、邏輯運算式、關聯運算式和算術運算式。 MIDL 不允許運算式中的函式呼叫,而且不允許遞增和遞減運算子。 以逗號分隔多個運算式。
如果 [first_is] 屬性不存在,或指定的索引是負數,則陣列元素零是傳輸的第一個專案。
如果未指定這些屬性, [first_is] 屬性也可以協助判斷對應至 [last_is] 或 [length_is] 屬性的陣列索引值。 這些陣列索引之間的關聯性如下:
length = last - first + 1
下列關聯性也必須保留:
0 <= first_is <= max_is
當 [max_is] < = 0時,必須保留下列關聯性:
first_is == 0
[first_is]屬性不能與[string]屬性同時使用。
搭配 [first_is] 屬性使用常數運算式是屬性的不當用法。 這是合法的,但效率不佳,而且會導致封送處理常式代碼變慢。
HRESULT Proc1(
[in] short First,
[first_is(First)] Arr[10]);