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

Parámetros

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].

Comentarios

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.

Consulte también

devolución de llamada

const

context_handle

Enum

first_is

Manejar

Archivo de definición de interfaz (IDL)

Ignorar

last_is

length_is

Local

max_is

Ptr

Ref

size_is

string

Estructura

switch_type

transmit_as

union

unique