arrays-Attribut

Arrays sind homogene Auflistungen von Daten, auf die über einen Index oder eine Elementnummer zugegriffen wird.

typedef [ [type-attr-list] ] type-specifier [pointer-decl] array-declarator;

typedef [ [type-attr-list] ] struct [ tag ] 
{
    [ [ field-attribute-list ] ] type-specifier [pointer-decl] array-declarator;
    ...
};

typedef [ [type-attr-list] ] union [ tag ] 
{
    [ case (limited-expression [ , ... ] ) ]
  [ [ field-attribute-list ] ] type-specifier [pointer-decl] array-declarator;
  [ [ default ]
  [ [ field-attribute-list ] ] type-specifier [pointer-decl] array-declarator;
  ]
};

[[ [function-attribute-list] ]] type-specifier [[pointer-decl]] function-name(
        [[ [param-attr-list] ]] type-specifier [[pointer-decl]] array-declarator
        , ...);

Parameter

type-attr-list

Gibt null oder mehr Attribute an, die für den Typ gelten. Gültige Typattribute sind [handle], [switch_type], [transmit_as]; das Zeiger-Attribut [ref], [eindeutig], oder [ptr]; und die Verwendungsattribute [context_handle], [Zeichenfolge] und [ignore]. Trennen Sie mehrere Attribute durch Kommas.

Typspezifizierer

Gibt den Typbezeichner, Basistyp, Struktur, Union oder Enumerationstyp an. Die Typspezifikation kann eine optionale Speicherspezifikation enthalten.

zeiger-decl

Gibt null oder mehr Zeiger-Deklaratoren an. Ein Zeigerdeklarator ist identisch mit dem in C verwendeten Zeigerdeklarator, der aus dem * Bezeichner, Modifizierern wie far und dem Qualifizierer const erstellt wird.

Arraydeklarator

Gibt den Namen des Arrays an, gefolgt von einem der folgenden Konstrukte für jede Dimension des Arrays: "[ ]", "[*]", "[const1]" oder "[lower... upper]", wobei unter und oben konstante Werte sind, die die untere und obere Grenze darstellen. Die Konstante niedriger muss zu 0 (null) ausgewertet werden.

Etikett

Gibt ein optionales Tag für die Struktur oder Union an.

field-attribute-list

Gibt null oder mehr Feldattribute an, die für die Struktur, den Union-Member oder den Funktionsparameter gelten. Gültige Feldattribute sind [first_is], [last_is], [length_is], [max_is], [size_is]; die Verwendungsattribute [string] und [ignore]; die Zeigerattribute [ref], [eindeutig], und [ptr]; und das Union-Attribut [switch_type]. Trennen Sie mehrere Feldattribute durch Kommas. Beachten Sie, dass die oben aufgeführten Attribute [first_is], [last_is] und [ignore] für Unions ungültig sind.

limited-expression

Gibt einen C-Sprachausdruck an. 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.

function-attribute-list

Gibt null oder mehr Attribute an, die für die Funktion gelten. Gültige Funktionsattribute sind [Callback], [local]; das Zeiger-Attribut [ref], [eindeutig], oder [ptr]; und die Verwendungsattribute [Zeichenfolge] und [context_handle].

Funktionsname

Gibt den Namen der Remoteprozedur an.

param-attr-list

Gibt die direktionalen Attribute und mindestens ein optionales Feldattribute an, die für den Arrayparameter gelten. Gültige Feldattribute sind [max_is], [size_is], [length_is], [first_is] und [last_is].

Bemerkungen

Arrays in MIDL verwenden einen Stil ähnlich wie C und C++. Weitere Informationen finden Sie unter MIDL-Arrays.

Siehe auch

Rückruf

const

context_handle

Enum

first_is

Behandeln

IDL-Datei (Interface Definition)

Ignorieren

last_is

length_is

lokal

max_is

Ptr

Ref

size_is

Schnur

Struktur

switch_type

transmit_as

union

Einzigartige