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