first_is (attributo)
L'attributo [first_is] specifica l'indice del primo elemento della matrice da trasmettere.
first_is(limited-expression-list)
-
limited-expression-list
-
Specifica una o più espressioni del linguaggio C. Ogni espressione restituisce un numero intero che rappresenta l'indice di matrice del primo elemento della matrice da trasmettere. Il compilatore MIDL supporta espressioni condizionali, espressioni logiche, espressioni relazionali ed espressioni aritmetiche. MIDL non consente chiamate di funzione nelle espressioni e non consente operatori di incremento e decremento. Separare più espressioni con virgole.
Se l'attributo [first_is] non è presente o se l'indice specificato è un numero negativo, l'elemento matrice zero è il primo elemento trasmesso.
L'attributo [first_is] può essere utile anche per determinare i valori degli indici di matrice corrispondenti all'attributo [last_is] o [length_is] quando questi attributi non sono specificati. La relazione tra questi indici di matrice è:
length = last - first + 1
Anche la relazione seguente deve contenere:
0 <= first_is <= max_is
La relazione seguente deve contenere quando [max_is] <= 0:
first_is == 0
L'attributo [first_is] non può essere usato contemporaneamente all'attributo [string].
L'uso di un'espressione costante con l'attributo [first_is] è un uso non appropriato dell'attributo . È legale, ma inefficiente e comporterà un marshalling più lento del codice.
HRESULT Proc1(
[in] short First,
[first_is(First)] Arr[10]);