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


Атрибуты #import (C++)

Предоставляет ссылки на атрибуты, используемые с директивой #import .

Блок, относящийся только к системам Майкрософт

Для директивы доступны #import следующие атрибуты.

Атрибут Description
auto_rename Переименовывает зарезервированные слова C++ путем добавления двух знаков подчеркивания (__) к именам переменных, чтобы разрешить потенциальные конфликты имен.
auto_search Указывает, что если на библиотеку типов ссылаются при помощи директивы #import, и при этом она сама ссылается на другую библиотеку типов, то компилятор может неявным образом выполнить директиву #import и для второй библиотеки типов.
embedded_idl Указывает, что библиотека типов записывается в файл .tlh с сохранением кода, созданного с атрибутами.
exclude Исключает элементы из создаваемых файлов заголовка библиотеки типов.
high_method_prefix Задает префикс, используемый при именовании высокоуровневых свойств и методов.
high_property_prefixes Задает другие префиксы для трех методов свойств.
implementation_only Отключает создание файла заголовка .tlh (основного файла заголовка).
include() Отключает автоматическое исключение.
inject_statement Вставляет свой аргумент как исходный текст в заголовок библиотеки типов.
named_guids Указывает компилятору определять и инициализировать переменные GUID в старом стиле, формы LIBID_MyLib, CLSID_MyCoClassIID_MyInterfaceа также DIID_MyDispInterface.
no_auto_exclude Отключает автоматическое исключение.
no_dual_interfaces Изменяет способ, которым компилятор создает функции оболочки для методов сдвоенных интерфейсов.
no_implementation Отключает создание заголовка .tli, который содержит реализацию функций-членов оболочки.
no_namespace Указывает, что пространство имен не генерируется компилятором.
no_registry Указывает компилятору не искать библиотеки типов в реестре.
no_search_namespace Имеет ту же функциональность, что и атрибут no_namespace, но используется в библиотеках типов, которые используют директиву #import с атрибутом auto_search .
no_smart_pointers Отключает создание интеллектуальных указателей для всех интерфейсов в библиотеке типов.
raw_dispinterfaces Сообщает компилятору создавать функции оболочки низкого уровня для методов и свойств, вызывающих IDispatch::Invoke и возвращающих код ошибки HRESULT.
raw_interfaces_only Подавляет создание функций-оболочки обработки ошибок и объявлений свойств , использующих эти функции-оболочки.
raw_method_prefix Указывает другой префикс, чтобы избежать конфликтов имен.
raw_native_types Отключает использование классов поддержки COM в высокоуровневых функциях оболочки и принудительно использует вместо них низкоуровневые типы данных.
raw_property_prefixes Задает другие префиксы для трех методов свойств.
rename Обходит проблемы конфликтов имен.
rename_namespace Переименовывает пространство имен, к которому относится содержимое библиотеки типов.
rename_search_namespace Имеет ту же функциональность, что и атрибут rename_namespace, но используется в библиотеках типов, которые используют директиву #import с атрибутом auto_search .
tlbid Позволяет загружать библиотеки, отличные от основной библиотеки типов.

Завершение блока, относящегося только к системам Майкрософт

См. также

Директива #import