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


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

В этом разделе перечислены атрибуты в соответствии с элементами языка C++, к которым они применяются.

Если атрибут предшествует элементу, который не находится в области атрибута, блок атрибута рассматривается как комментарий.

Атрибут Description
Атрибуты модуля Применяется к атрибуту модуля .
Атрибуты интерфейса Применяется к ключевому слову __interface C++.
Атрибуты классов Применяется к ключевому слову C++ .
Атрибуты метода Применяется к методам в классе, соклассе или интерфейсе.
Атрибуты параметра Применяется к параметрам метода в классе или интерфейсе.
Атрибуты элементов данных Применяется к элементам данных в классе, соклассе или интерфейсе.
Атрибуты Typedef, Enum, Union и Struct Применяется к ключевым словам C++.
Атрибуты массивов Применяется к массивам или SAFEARRAYс.
Изолированные атрибуты Работает больше как строка кода, но не работает с ключевым словом C++. Для операторов автономных атрибутов требуется точка с запятой в конце строки.
Настраиваемые атрибуты Позволяет пользователю расширять метаданные.

Атрибуты модуля

К атрибуту модуля можно применить только следующий атрибут.

Атрибут Description
helpstringdll Указывает имя библиотеки DLL, используемой для поиска строки документа (локализация).

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

Следующие атрибуты применяются к ключевому слову 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 Предоставляет уникальный идентификатор библиотеки

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

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

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

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

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

См. также

Атрибуты C++ для модели COM и .NET
Список атрибутов по группам
Алфавитный указатель атрибутов