Атрибуты интерфейса
Следующие атрибуты применяются к ключевому слову C++ интерфейса (или __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 | Предоставляет уникальный идентификатор библиотеки |
Для определения интерфейса необходимо соблюдать следующие правила:
Идентификатор GUID предоставляется для вас, если вы не предоставляете его.
Перегруженные методы не допускаются.
Если не указывать атрибут uuid и использовать одно и то же имя интерфейса в разных проектах атрибутов, создается тот же GUID.