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

Следующие атрибуты применяются к ключевому слову interface (или __interface) C++.The following attributes apply to the interface (or __interface) C++ keyword.

АтрибутAttribute ОписаниеDescription
async_uuidasync_uuid Указывает UUID, который направляет компилятор MIDL для определения синхронных и асинхронных версий COM-интерфейса.Specifies the UUID that directs the MIDL compiler to define both synchronous and asynchronous versions of a COM interface.
настройкиcustom Позволяет определять собственные атрибуты.Lets you define your own attributes.
dispinterfacedispinterface Помещает интерфейс в IDL-файл в качестве интерфейса диспетчеризации.Places an interface in the .idl file as a dispatch interface.
двойнойdual Помещает интерфейс в IDL-файл в виде сдвоенного интерфейса.Places an interface in the .idl file as a dual interface.
программеexport Приводит к размещению структуры данных в IDL-файле.Causes a data structure to be placed in the .idl file.
helpcontexthelpcontext Указывает идентификатор контекста, позволяющий пользователю просматривать сведения об этом элементе в файле справки.Specifies a context ID that lets the user view information about this element in the Help file.
helpfilehelpfile Задает имя файла справки для библиотеки типов.Sets the name of the Help file for a type library.
helpstringhelpstring Определяет строку символов, используемую для описания элемента, к которому оно применяется.Specifies a character string that is used to describe the element to which it applies.
helpstringcontexthelpstringcontext Указывает идентификатор раздела справки в файле. hlp или. chm.Specifies the ID of a help topic in an .hlp or .chm file.
helpstringdllhelpstringdll Указывает имя библиотеки DLL, используемой для поиска строки документа (локализация).Specifies the name of the DLL to use to perform document string lookup (localization).
служебhidden Указывает, что элемент существует, но не должен отображаться в браузере, ориентированном на пользователя.Indicates that the item exists but should not be displayed in a user-oriented browser.
library_blocklibrary_block Помещает конструкцию внутрь блока библиотеки IDL-файла.Places a construct inside the .idl file's library block.
Языковыеlocal Позволяет использовать компилятор MIDL в качестве генератора заголовков при использовании в заголовке интерфейса.Allows you to use the MIDL compiler as a header generator when used in the interface header. При использовании в отдельной функции обозначает локальную процедуру, для которой заглушки не создаются.When used in an individual function, designates a local procedure for which no stubs are generated.
nonextensiblenonextensible Указывает, что IDispatch Реализация включает только свойства и методы, перечисленные в описании интерфейса, и не может быть расширена с помощью дополнительных элементов во время выполнения.Specifies that the IDispatch implementation includes only the properties and methods listed in the interface description and cannot be extended with additional members at run time. Этот атрибут допустим только для сдвоенного интерфейса.This attribute is only valid on a dual interface.
ODLodl Определяет интерфейс в виде интерфейса языка описания объектов (ODL).Identifies an interface as an Object Description Language (ODL) interface.
objectobject Определяет пользовательский интерфейс.Identifies a custom interface.
oleautomationoleautomation Указывает, что интерфейс совместим с автоматизацией.Indicates that an interface is compatible with Automation.
pointer_defaultpointer_default Задает атрибут указателя по умолчанию для всех указателей, за исключением указателей верхнего уровня, которые отображаются в списках параметров.Specifies the default pointer attribute for all pointers except top-level pointers that appear in parameter lists.
ptrptr Назначает указатель в качестве полного указателя.Designates a pointer as a full pointer.
зонаrestricted Определяет, какие члены библиотеки не могут вызываться произвольным образом.Designates which members of the library cannot be called arbitrarily.
uuiduuid Предоставляет уникальный идентификатор для библиотекиProvides the unique ID for the library

Для определения интерфейса необходимо соблюдать следующие правила.You must observe these rules for defining an interface:

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

  • Идентификатор GUID предоставляется, если он не указан.A GUID is supplied for you if you do not supply one.

  • Перегруженные методы не разрешены.No overloaded methods are allowed.

Если не указать атрибут UUID и использовать то же имя интерфейса в разных проектах атрибутов, создается один и тот же идентификатор GUID.When not specifying the uuid attribute and using the same interface name in different attribute projects, the same GUID is generated.

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

Атрибуты по использованиюAttributes by Usage