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


Атрибуты интерфейса

Следующие атрибуты применяются к ключевое слово интерфейса (или __interface).

Атрибут Description
async_uuid Указывает UUID, который направляет компилятор MIDL для определения синхронных и асинхронных версий com-интерфейса.
custom Позволяет определить собственные атрибуты.
dispinterface Помещает интерфейс в IDL-файл в качестве интерфейса диспетчеризации.
dual Помещает интерфейс в IDL-файл как двойной интерфейс.
Экспорт Вызывает размещение структуры данных в IDL-файле.
helpcontext Указывает идентификатор контекста, позволяющий пользователю просматривать сведения об этом элементе в файле справки.
helpfile Задает имя файла справки для библиотеки типов.
helpstring Определяет строку символов, используемую для описания элемента, к которому оно применяется.
helpstringcontext Указывает идентификатор раздела справки в файле HLP или CHM.
helpstringdll Указывает имя библиотеки DLL, используемой для поиска строки документа (локализация).
hidden Указывает, что элемент существует, но не должен отображаться в пользовательском браузере.
library_block Помещает конструкцию в блок библиотеки IDL-файла.
local Позволяет использовать компилятор MIDL в качестве генератора заголовков при использовании в заголовке интерфейса. При использовании в отдельной функции назначает локальную процедуру, для которой не создаются заглушки.
nonextensible Указывает, что IDispatch реализация включает только свойства и методы, перечисленные в описании интерфейса, и не может быть расширена с дополнительными элементами во время выполнения. Этот атрибут действителен только в двойном интерфейсе.
odl Определяет интерфейс как интерфейс языка описания объектов (ODL).
object Определяет пользовательский интерфейс.
oleautomation Указывает, что интерфейс совместим с службой автоматизации.
pointer_default Задает атрибут указателя по умолчанию для всех указателей, кроме указателей верхнего уровня, которые отображаются в списках параметров.
ptr Указывает указатель как полный указатель.
restricted Указывает, какие члены библиотеки нельзя вызывать произвольно.
uuid Предоставляет уникальный идентификатор библиотеки

Для определения интерфейса необходимо соблюдать следующие правила:

  • Соглашение о вызовах по умолчанию — __stdcall.

  • Идентификатор GUID предоставляется для вас, если вы не предоставляете его.

  • Перегруженные методы не допускаются.

Если не указывать атрибут uuid и использовать одно и то же имя интерфейса в разных проектах атрибутов, создается тот же GUID.

См. также

Список атрибутов по использованию