Бөлісу құралы:


атрибут импорта

Директива импорта задает другой файл IDL, ODL или заголовок, содержащий определения, на которые нужно ссылаться из основного файла IDL.

import "filename" [[ , ... ]] ;

Параметры

filename

Указывает имя импорта файла заголовка, IDL или ODL.

Замечания

С помощью директивы импорта все инструкции IDL в импортированном файле, такие как typedefs, объявления констант и определения интерфейса становятся доступными для импорта. IDL-файл.

Импортированный файл обрабатывается отдельно (то есть препроцессор CPP вызывается независимо) от импортируемого IDL-файла. Таким образом, директивы предварительного процессора, такие как #define, не переносятся из импортированного заголовка или IDL-файла в импортируемый IDL-файл.

Как и макрос препроцессора языка C , #include, директива импорта сообщает компилятору включить типы данных, определенные в импортированных файлах IDL. В отличие от директивы #include , директива импорта игнорирует прототипы процедур, так как заглушки не создаются для чего-либо в импортированном файле.

Дополнительные сведения об использовании импорта для включения файлов заголовков в файл IDL см. в разделе "Импорт файлов заголовков системы".

Заголовок языка C (). H) файл, созданный для интерфейса, не содержит напрямую импортированные типы, а создает директиву #include для файла заголовка, соответствующего импортированному интерфейсу. Например, при импорте BASE. IDL в ваш ПРОИЗВОДНЫЙ. IDL, созданный файл заголовка ПРОИЗВОДНО. H будет содержать директиву #include BASE.H.

Применяются следующие правила:

  • Ключевое слово импорта является необязательным и может отображаться ноль или больше раз в файле IDL.
  • Каждое ключевое слово импорта может быть связано с несколькими именами файлов.
  • Разделите несколько имен файлов запятыми.
  • Необходимо заключить имя файла в кавычки и завершить инструкцию импорта точкой с запятой (;).
  • Вы можете импортировать интерфейс без атрибутов в другой файл IDL. Однако интерфейс должен содержать только типы данных; он не может содержать какие-либо процедуры. Если даже одна процедура содержится в импортированном интерфейсе, необходимо указать локальный или UUID-атрибут .
  • Функция импорта является идемпотентной— то есть импорт интерфейса более одного раза не имеет дополнительных эффектов.

Замечание

Поведение директивы импорта не зависит от переключателей режима компилятора MIDL /ms_ext (по умолчанию), /osf и /app_config. Однако режим компилятора (/osf или /ms_ext) может повлиять на оформление атрибута указателя на импортированные типы. Дополнительные сведения см. в разделеPointer-Attribute Наследование типов.

 

Примеры

import "myoldodl.odl";  
import "unknwn.idl";
import "part1.idl", "part2.idl", "part3.idl"; 

См. также

/app_config

Файл определения интерфейса (IDL)

importlib

Включают

Импорт файлов заголовков системы

Импорт файлов и библиотек типов

/ms_ext

/Osf