importlib 属性
[importlib] ディレクティブを使用すると、既に別のタイプ ライブラリにコンパイルされている型を、作成中のタイプ ライブラリで使用できるようになります。
[
library-attributes
]
library (library-name)
{
importlib(file-to-import);
...
}
-
library-attributes
-
ライブラリに適用される 0 個以上の属性。
-
library-name
-
この ライブラリを示すためにソフトウェア コンポーネントが使用する識別子。
-
file-to-import
-
MIDL コンパイル時にインポートされたファイルの名前と場所。
すべての [importlib] ディレクティブは、ライブラリ内の他の型の説明の前に置く必要があります。 インポートされたライブラリと生成されたライブラリは、実行時に使用できるように、アプリケーションと共に配布する必要があることに注意してください。
ほとんどの場合、MIDL [import] ディレクティブを使用して、別の から定義を参照する必要があります。内の IDL ファイル。IDL ファイル。 このメソッドは、元のファイルのすべての情報をタイプ ライブラリに提供しますが、[ importlib] は タイプ ライブラリの内容のみを取り込みます。
注意
[importlib] ディレクティブを使用すると、インポートされたライブラリで定義されている任意の型が、コンパイルされるライブラリ内からアクセスできるようになります。 参照が重複している場合にあいまいさを避けるために、次のように、該当する各参照を適切なライブラリ名で修飾することをお勧めします。
library_name.type
このような修飾がない場合、MIDL は重複参照のあいまいさを次のように解決します。
- バージョン 3.1 で有効な MIDL では、見つかった最初の参照が使用されます。
- MIDL のバージョン 3.0 は、タイプ ライブラリを生成できる MIDL の最初のバージョンで、最後に見つかった参照を使用します。
library BrowseHelper
{
importlib("stdole32.tlb");
importlib("mydisp.tlb");
//Remainder of library definition
};