atribut first_is
Atribut [first_is] menentukan indeks elemen array pertama yang akan ditransmisikan.
first_is(limited-expression-list)
-
daftar ekspresi terbatas
-
Menentukan satu atau beberapa ekspresi bahasa C. Setiap ekspresi mengevaluasi ke bilangan bulat yang mewakili indeks array dari elemen array pertama yang akan ditransmisikan. Pengkompilasi MIDL mendukung ekspresi kondisional, ekspresi logis, ekspresi relasional, dan ekspresi aritmatika. MIDL tidak mengizinkan pemanggilan fungsi dalam ekspresi dan tidak memungkinkan operator kenaikan dan penurunan. Pisahkan beberapa ekspresi dengan koma.
Jika atribut [first_is] tidak ada, atau jika indeks yang ditentukan adalah angka negatif, elemen array nol adalah elemen pertama yang dikirimkan.
Atribut [first_is] juga dapat membantu menentukan nilai indeks array yang sesuai dengan atribut [last_is] atau [length_is] ketika atribut ini tidak ditentukan. Hubungan antara indeks array ini adalah:
length = last - first + 1
Hubungan berikut juga harus dipegang:
0 <= first_is <= max_is
Hubungan berikut harus ditahan ketika [max_is] <= 0:
first_is == 0
Atribut [first_is] tidak dapat digunakan pada saat yang sama dengan atribut[string].
Menggunakan ekspresi konstanta dengan atribut [first_is] adalah penggunaan atribut yang tidak pantas. Ini legal, tetapi tidak efisien, dan akan menghasilkan kode marshaling yang lebih lambat.
HRESULT Proc1(
[in] short First,
[first_is(First)] Arr[10]);