インポート属性

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

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

パラメーター

ファイル名

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

解説

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

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

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

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

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

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

  • インポート キーワード (keyword)は省略可能であり、IDL ファイルに 0 回以上表示できます。
  • インポート キーワード (keyword)は、複数のファイル名に関連付けることができます。
  • 複数のファイル名をコンマで区切ります。
  • ファイル名を引用符で囲み、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