атрибут модуля

Инструкция module определяет группу функций, обычно это набор точек входа DLL.

[
    attributes
]
module modulename 
{
    elementlist
};

Параметры

attributes

Атрибуты [uuid], [version], [helpstring], [helpcontext], [hidden] и [dllname] принимаются перед инструкцией модуля . Дополнительные сведения об атрибутах, принятых перед определением модуля, см. в разделе Описания атрибутов в книге OLE-автоматизации. Атрибут [dllname] является обязательным. Если атрибут [uuid] опущен, модуль не указывается однозначно в системе.

имя_модуля

Имя модуля.

elementlist

Список определений констант и прототипов функций для каждой функции в библиотеке DLL. В списке функций может появиться любое количество определений функций. Функция в списке функций имеет следующую форму:

[атрибуты] returntype [имя funcname соглашения о вызовах](params);

[атрибуты] const constanttype constname = constval;

Для const принимаются только атрибуты [helpstring] и [helpcontext].

В функции в модуле принимаются следующие атрибуты: [helpstring], [helpcontext], [string], [entry], [propget], [propput], [propputref] и [vararg]. Если указан параметр [vararg], последний параметр должен быть безопасным массивом типа VARIANT .

Необязательным соглашением о вызовах может быть одно из __pascal/_pascal/pascal, __cdecl/_cdecl/cdecl или __stdcall/_stdcall/stdcall. Параметр типа соглашения о вызовах может включать до двух символов подчеркивания в начале.

Список параметров — это разделенный запятыми список:

[атрибуты]

Тип может быть любым ранее объявленным или встроенным типом, указателем на любой тип или указателем на встроенный тип. Атрибуты параметров:

[in], [out], [optional].

Если используется [необязательный] тип этих параметров должен быть VARIANT или VARIANT*.

Комментарии

Выходные данные файла заголовка (.h) для модулей — это ряд прототипов функций. Модуль ключевое слово и окружающие квадратные скобки удаляются из выходных данных файла заголовка (H), но перед прототипами вставляется комментарий (// modulename). Перед объявлениями вставляется ключевое слово extern.

Примеры

[
    uuid(12345678-1234-1234-1234-123456789ABC), 
    helpstring("This is not GDI.EXE"), 
    helpcontext(190), 
    dllname("MATH.DLL")
] 
module somemodule
{ 
    [helpstring("Color for the frame")] 
            unsigned long const COLOR_FRAME = 0xH80000006; 
    [helpstring("Not a rectangle but a square"), 
     entry(1)] 
            pascal double square([in] double x); 
};

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

const

Содержимое библиотеки типов

dllname

Запись

Создание библиотеки типов с помощью MIDL

helpcontext

helpstring

Скрытые

Синтаксис файла ODL

propget

propput

propputref

строка

TYPEFLAGS

uuid

vararg

Версия