first _ is attribute
Das [ erste _ is-Attribut ] gibt den Index des ersten zu übertragenden Arrayelements an.
first_is(limited-expression-list)
Parameter
-
eingeschränkte Ausdrucksliste
-
Gibt einen oder mehrere C-Sprachausdrücke an. Jeder Ausdruck wird zu einer ganzen Zahl ausgewertet, die den Arrayindex des ersten zu übertragenden Arrayelements darstellt. Der MIDL-Compiler unterstützt bedingte Ausdrücke, logische Ausdrücke, relationale Ausdrücke und arithmetische Ausdrücke. MIDL lässt keine Funktionsaufrufe in Ausdrücken und keine Inkrement- und Dekrementoperatoren zu. Trennen Sie mehrere Ausdrücke durch Kommas.
Bemerkungen
Wenn das [ erste _ ] is-Attribut nicht vorhanden ist oder der angegebene Index eine negative Zahl ist, ist Arrayelement 0 das erste übertragene Element.
Das [ erste _ ] is-Attribut kann auch dabei helfen, die Werte der Arrayindizes zu bestimmen, die dem letzten is-Attribut entsprechen, oder [ _ length ] [ _ is-Attribut, wenn diese Attribute nicht angegeben ] sind. Die Beziehung zwischen diesen Arrayindizes lautet:
length = last - first + 1
Die folgende Beziehung muss ebenfalls enthalten:
0 <= first_is <= max_is
Die folgende Beziehung muss enthalten sein, wenn [ max ] <= 0 ist: _
first_is == 0
Das [ erste _ ] is-Attribut kann nicht gleichzeitig mit dem [ Zeichenfolgenattribut verwendet ] werden.
Die Verwendung eines konstanten Ausdrucks mit dem [ ersten _ is-Attribut ] ist eine ungeeignete Verwendung des Attributs. Dies ist zulässig, aber ineffizient und führt zu einem langsameren Marshalling von Code.
Beispiele
HRESULT Proc1(
[in] short First,
[first_is(First)] Arr[10]);