Compartilhar via


atributo arrays

Matrizes são coleções homogêneas de dados acessados por um índice ou número de 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
        , ...);

Parâmetros

type-attr-list

Especifica zero ou mais atributos que se aplicam ao tipo . Os atributos de tipo válidos incluem [handle], [switch_type], [transmit_as]; o atributo de ponteiro [ref], [unique]ou [ptr]; e os atributos de uso [context_handle], [cadeia de caracteres] e [ignorar]. Separe vários atributos com vírgulas.

type-specifier

Especifica o identificador de tipo, o tipo base, o struct, a união ou o tipo de enumeração . A especificação de tipo pode incluir uma especificação de armazenamento opcional.

pointer-decl

Especifica zero ou mais declaradores de ponteiro. Um declarador de ponteiro é o mesmo que o declarador de ponteiro usado em C, construído a * partir do designador, modificadores como far e o qualificador const.

array-declarator

Especifica o nome da matriz, seguido por um dos seguintes constructos para cada dimensão da matriz: "[ ]", "[*]", "[const1]" ou "[lower... upper]" em que inferior e superior são valores constantes que representam os limites inferior e superior. A constante inferior deve ser avaliada como zero.

tag

Especifica uma marca opcional para a estrutura ou união.

field-attribute-list

Especifica zero ou mais atributos de campo que se aplicam à estrutura, ao membro da união ou ao parâmetro de função. Os atributos de campo válidos incluem [first_is], [last_is], [length_is], [max_is], [size_is]; os atributos de uso [string], e [ignore]; os atributos de ponteiro [ref], [unique], e [ptr]; e o atributo union [switch_type]. Separe vários atributos de campo com vírgulas. Observe que dos atributos listados acima, [first_is], [last_is] e [ignorar] não são válidos para uniões.

limited-expression

Especifica uma expressão de linguagem C. O compilador MIDL dá suporte a expressões condicionais, expressões lógicas, expressões relacionais e expressões aritméticas. MIDL não permite invocações de função em expressões e não permite operadores de incremento e decremento.

function-attribute-list

Especifica zero ou mais atributos que se aplicam à função. Os atributos de função válidos são [retorno de chamada], [local]; o atributo de ponteiro [ref], [unique]ou [ptr]; e os atributos de uso [string], e [context_handle].

function-name

Especifica o nome do procedimento remoto.

param-attr-list

Especifica os atributos direcionais e um ou mais atributos de campo opcionais que se aplicam ao parâmetro de matriz. Os atributos de campo válidos incluem [max_is], [size_is], [length_is], [first_is] e [last_is].

Comentários

Matrizes em MIDL usam um estilo semelhante a, mas não exatamente o mesmo que C e C++. Para obter mais informações, consulte Matrizes MIDL.

Confira também

retorno de chamada

const

context_handle

Enum

first_is

Identificador

Arquivo IDL (definição de interface)

Ignorar

last_is

length_is

Local

max_is

Ptr

Ref

size_is

string

Struct

switch_type

transmit_as

union

unique