インポート属性

import ディレクティブは、メイン IDL ファイルから参照する定義を含む別の IDL、ODL、またはヘッダー ファイルを指定します。

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

パラメーター

ファイル名

インポートするヘッダー、IDL、または ODL ファイルの名前を指定します。

解説

import ディレクティブを使用すると、インポートするファイル内のすべての IDL ステートメント (typedef、定数宣言、インターフェイス定義など) がインポートで使用できるようになります。IDL ファイル。

インポートされたファイルは、インポートする IDL ファイルとは別に処理されます (つまり、CPP プリプロセッサは個別に呼び出されます)。 このように、#defineなどのプリプロセッサ ディレクティブは、インポートされたヘッダーまたは IDL ファイルからインポートする IDL ファイルに引き継がれません。

C 言語プリプロセッサ マクロ #includeと同様に、import ディレクティブは、 インポート された IDL ファイルで定義されたデータ型を含むようにコンパイラに指示します。 #includeディレクティブとは異なり、インポートディレクティブはプロシージャプロトタイプを無視します。インポートされたファイル内のスタブは生成されません。

インポートを使用して IDL ファイルにヘッダー ファイルを含める方法の詳細については、「システム ヘッダー ファイルのインポート」を参照してください。

C 言語ヘッダー (.H) インターフェイス用に生成されたファイルは、インポートされた型を直接含まないが、代わりに、インポートされたインターフェイスに対応するヘッダー ファイルの #include ディレクティブを生成します。 たとえば、BASE をインポートする場合などです。IDL を DERIVED に入力します。IDL。生成されたヘッダー ファイル DERIVED。H には BASE.H #include ディレクティブが含まれます。

次の規則が適用されます。

  • import キーワードは省略可能であり、IDL ファイルに 0 回以上表示できます。
  • import キーワードは、複数のファイル名に関連付けることができます。
  • 複数のファイル名をコンマで区切ります。
  • ファイル名を引用符で囲み、import ステートメントをセミコロン (;)で終了する必要があります。
  • 属性のないインターフェイスを別の IDL ファイルにインポートできます。 ただし、インターフェイスにはデータ型のみを含める必要があります。プロシージャを含めることはできません。 インポートされたインターフェイスに 1 つのプロシージャが含まれている場合は、 ローカル 属性または UUID 属性を指定する必要があります。
  • インポート関数はべき等です。つまり、インターフェイスを複数回インポートしても追加の効果はありません。

Note

import ディレクティブの動作は、MIDL コンパイラ モード スイッチ /ms_ext (既定値)、/osf、および /app_config とは独立しています。 ただし、コンパイラ モード (/osf または /ms_ext) は、インポートされた型のポインター属性の装飾に影響を与える可能性があります。 詳細については、「 ポインター属性型の継承」を参照してください

 

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

関連項目

/app_config

インターフェイス定義 (IDL) ファイル

importlib

含める

システム ヘッダー ファイルのインポート

ファイルとタイプ ライブラリのインポート

/ms_ext

/osf