Attributo matrici

Le matrici sono raccolte omogenee di dati a cui si accede da un numero di indice o di elemento.

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
        , ...);

Parametri

type-attr-list

Specifica zero o più attributi che si applicano al tipo. Gli attributi di tipo validi includono [handle], [switch_type], [transmit_as]; l'attributo puntatore [ref], [unique]o [ptr]; e gli attributi di utilizzo [context_handle], [string]e [ignore]. Separare più attributi con virgole.

type-specifier

Specifica l'identificatore del tipo, il tipo di base, lo struct, l'unione o il tipo di enumerazione . La specifica del tipo può includere una specifica di archiviazione facoltativa.

pointer-decl

Specifica zero o più dichiaratori del puntatore. Un dichiaratore di puntatore è lo stesso del dichiaratore del puntatore usato in C, costruito dall'indicatore * di progettazione, modificatori come per lontano e qualificatore const.

array-declarator

Specifica il nome della matrice, seguito da uno dei costrutti seguenti per ogni dimensione della matrice: "[ ]", "[*]", "[const1]" o "[lower... upper]" dove lower e upper sono valori costanti che rappresentano i limiti inferiori e superiori. La costante inferiore deve restituire zero.

tag

Specifica un tag facoltativo per la struttura o l'unione.

field-attribute-list

Specifica zero o più attributi di campo che si applicano alla struttura, al membro dell'unione o al parametro della funzione. Gli attributi di campo validi includono [first_is], [last_is], [length_is], [max_is], [size_is]; gli attributi di utilizzo [string], e [ignore]; gli attributi del puntatore [ref], [unique]e [ptr]; e l'attributo union [switch_type]. Separare più attributi di campo con virgole. Si noti che gli attributi elencati in precedenza, [first_is], [last_is] e [ignore] non sono validi per le unioni.

espressione limitata

Specifica un'espressione del linguaggio C. 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.

function-attribute-list

Specifica zero o più attributi che si applicano alla funzione. Gli attributi di funzione validi sono [callback], [local]; l'attributo puntatore [ref], [unique]o [ptr]; e gli attributi di utilizzo [string], e [context_handle].

function-name

Specifica il nome della routine remota.

param-attr-list

Specifica gli attributi direzionali e uno o più attributi di campo facoltativi che si applicano al parametro della matrice. Gli attributi di campo validi includono [max_is], [size_is], [length_is], [first_is]e [last_is].

Commenti

Le matrici in MIDL usano uno stile simile ma non esattamente uguale a C e C++. Per altre informazioni, vedere Matrici MIDL.

Vedi anche

callback

const

context_handle

Enum

first_is

Gestire

File IDL (Interface Definition)

Ignorare

last_is

length_is

Locale

max_is

Ptr

Ref

size_is

string

Struct

switch_type

transmit_as

Unione

Unico