first_is-Attribut

Das [first_is]-Attribut gibt den Index des ersten zu übertragenden Arrayelements an.

first_is(limited-expression-list)

Parameter

limited-expression-list

Gibt einen oder mehrere C-Sprachausdrücke an. Jeder Ausdruck ergibt eine ganze Zahl, 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 zu und lässt keine Inkrement- und Dekrementoperatoren zu. Trennen Sie mehrere Ausdrücke durch Kommas.

Bemerkungen

Wenn das [first_is] -Attribut nicht vorhanden ist oder der angegebene Index eine negative Zahl ist, ist Arrayelement 0 das erste übertragene Element.

Das [first_is]- Attribut kann auch helfen, die Werte der Arrayindizes zu bestimmen, die dem Attribut [last_is] oder [length_is] entsprechen, wenn diese Attribute nicht angegeben sind. Die Beziehung zwischen diesen Arrayindizes ist:

length = last - first + 1

Die folgende Beziehung muss ebenfalls enthalten sein:

0 <= first_is <= max_is

Die folgende Beziehung muss enthalten sein, wenn [max_is] <= 0 ist:

first_is == 0

Das [first_is] -Attribut kann nicht gleichzeitig mit dem [string] -Attribut verwendet werden.

Die Verwendung eines konstanten Ausdrucks mit dem [first_is]- Attribut ist eine unangemessene Verwendung des Attributs. Es ist legal, aber ineffizient und führt zu einer langsameren Marshalling von Code.

Beispiele

HRESULT Proc1(
    [in] short First,
    [first_is(First)] Arr[10]);

Weitere Informationen

field_attributes

IDL-Datei (Interface Definition)

last_is

length_is

max_is

min_is

size_is

Zeichenfolge