Атрибут массивов

Массивы представляют собой однородные коллекции данных, к которым обращается индекс или номер элемента.

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

Указывает ноль или более атрибутов, применяемых к типу. Допустимые атрибуты типа включают [handle], [switch_type], [transmit_as]; атрибут указателя [ref], [unique], или [ptr]; и атрибуты использования [context_handle], [string], и [ignore]. Разделите несколько атрибутов запятыми.

описатель типа

Указывает идентификатор типа, базовый тип, структуру, объединение или тип перечисления . Спецификация типа может содержать необязательную спецификацию хранилища.

pointer-decl

Задает ноль или больше деклараторов указателя. Декларатор указателя совпадает с декларатором указателя, используемым в C, созданным из * конструктора, модификаторов, таких как далеко, и констант квалификатора.

Декларатор массива

Задает имя массива, за которым следует одна из следующих конструкций для каждого измерения массива: "[ ]", "[*]", "[const1]" или "[lower... upper]" где нижние и верхние — это константные значения, представляющие нижние и верхние границы. Константа ниже должна иметь нулевое значение.

Тег

Указывает необязательный тег для структуры или объединения.

field-attribute-list

Указывает ноль или несколько атрибутов поля, которые применяются к параметру структуры, элемента объединения или функции. Допустимые атрибуты полей включают [first_is], [last_is], [length_is], [max_is], [size_is]; атрибуты использования [string], и [ignore]; атрибуты указателя [ref], [unique], и [ptr]; и атрибут объединения [switch_type]. Разделите несколько атрибутов поля запятыми. Обратите внимание, что атрибуты, перечисленные выше, [first_is], [last_is], и [ignore] недопустимы для профсоюзов.

limited-expression

Задает выражение языка C. Компилятор MIDL поддерживает условные выражения, логические выражения, реляционные выражения и арифметические выражения. MIDL не разрешает вызовы функций в выражениях и не разрешает операторы увеличения и уменьшения.

function-attribute-list

Указывает ноль или более атрибутов, применяемых к функции. Допустимые атрибуты функции: [обратный вызов], [local]; атрибут указателя [ref], [unique], или [ptr]; и атрибуты использования [string], и [context_handle].

имя функции

Указывает имя удаленной процедуры.

param-attr-list

Задает направленные атрибуты и один или несколько необязательных атрибутов полей, которые применяются к параметру массива. Допустимые атрибуты полей включают [max_is], [size_is], [length_is], [first_is]и [last_is].

Remarks

Массивы в MIDL используют стиль, аналогичный стилю, но не точно так же, как C и C++. Дополнительные сведения см. в разделе "Массивы MIDL".

См. также раздел

обратный вызов

const

context_handle

Перечисления

first_is

Обрабатывать

Файл определения интерфейса (IDL)

Игнорировать

last_is

length_is

Местных

max_is

ptr

Ref

size_is

строка

Структура

switch_type

transmit_as

Союза

Уникальный