Поделиться через


Атрибут typedef

IDL typedef ключевое слово допускает объявления typedef, которые очень похожи на объявления typedef языка C.

/* IDL file typedef syntax */
typedef [[ [ idl-type-attribute-list ] ]] type-specifier declarator-list;

/* ACF typedef syntax */
typedef [ acf-type-attribute-list ] typename;

Параметры

idl-type-attribute-list

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

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

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

declarator-list

Указывает стандартные деклараторы MIDL, такие как идентификаторы, деклараторы указателей и деклараторы массива. Дополнительные сведения см. в статье Атрибуты массива и Sized-Pointer, массивы и указатели. Список деклараторов состоит из одного или нескольких деклараторов, разделенных запятыми.

acf-type-attribute-list

Указывает один или несколько атрибутов, применяемых к типу. Допустимые атрибуты типа в ACF включают [выделение], [кодирование] и [декодирование].

Typename

Указывает тип, определенный в IDL-файле.

Комментарии

Объявление определения типа IDL дополнено , чтобы позволить связать атрибуты типа с определенными типами. Допустимые атрибуты типа: [handle], [switch_type], [transmit_as]; атрибут указателя [ссылка], [уникальный], или [ptr]; и атрибуты использования [context_handle], [строка] и [игнорировать].

Typedef ключевое слово в ACF применяет атрибуты к типам, определенным в соответствующем IDL-файле. Например, атрибут типа выделения позволяет настраивать выделение и освобождение памяти как приложением, так и заглушками.

Оператор typedef ACF отображается как часть тела ACF. Обратите внимание, что синтаксис определения типа ACF отличается от синтаксиса определения типа IDL и синтаксиса typedef языка C. В ACF нельзя вводить новые типы.

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

Файл конфигурации приложения (ACF)

Выделить

Массивы

const

context_handle

decode

encode

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

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

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

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

Ptr

Ref

строка

Структура

switch_type

transmit_as

union

Уникальный