atributo arrays
Las matrices son colecciones homogéneos de datos a los que accede un índice o 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
, ...);
-
type-attr-list
-
Especifica cero o más atributos que se aplican al tipo. Los atributos de tipo válidos incluyen [handle], [switch_type], [transmit_as]; el atributo de puntero [ref], [unique]o [ptr]; y los atributos de uso [context_handle], [string] y [ignore]. Separe varios atributos con comas.
-
type-specifier
-
Especifica el identificador de tipo, el tipo base, la estructura, la unión o el tipo de enumeración . La especificación de tipo puede incluir una especificación de almacenamiento opcional.
-
pointer-decl
-
Especifica cero o más declaradores de puntero. Un declarador de puntero es el mismo que el declarador de puntero usado en C, construido a partir del * designador, modificadores como far y el calificador const.
-
array-declarator
-
Especifica el nombre de la matriz, seguido de una de las siguientes construcciones para cada dimensión de la matriz: "[ ]", "[*]", "[const1]" o "[lower... upper]" donde lower y upper son valores constantes que representan los límites inferiores y superiores. La constante inferior debe evaluarse como cero.
-
tag
-
Especifica una etiqueta opcional para la estructura o unión.
-
field-attribute-list
-
Especifica cero o más atributos de campo que se aplican a la estructura, al miembro de unión o al parámetro de función. Los atributos de campo válidos incluyen [first_is], [last_is], [length_is], [max_is], [size_is]; los atributos de uso [string], y [ignore]; los atributos de puntero [ref], [unique]y [ptr]; y el atributo de unión [switch_type]. Separe varios atributos de campo con comas. Tenga en cuenta que de los atributos enumerados anteriormente, [first_is], [last_is] y [ignore] no son válidos para uniones.
-
limited-expression
-
Especifica una expresión de lenguaje C. El compilador MIDL admite expresiones condicionales, expresiones lógicas, expresiones relacionales y expresiones aritméticas. MIDL no permite invocaciones de función en expresiones y no permite operadores de incremento y decremento.
-
function-attribute-list
-
Especifica cero o más atributos que se aplican a la función. Los atributos de función válidos son [devolución de llamada], [local]; el atributo de puntero [ref], [unique]o [ptr]; y los atributos de uso [string] y [context_handle].
-
nombre de función
-
Especifica el nombre del procedimiento remoto.
-
param-attr-list
-
Especifica los atributos direccionales y uno o varios atributos de campo opcionales que se aplican al parámetro de matriz. Los atributos de campo válidos incluyen [max_is], [size_is], [length_is], [first_is]y [last_is].
Las matrices de MIDL usan un estilo similar a pero no exactamente igual que C y C++. Para obtener más información, vea Matrices MIDL.