Атрибуты #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_MyCoClass IID_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 | Позволяет загружать библиотеки, отличные от основной библиотеки типов. |
Завершение блока, относящегося только к системам Майкрософт