LoadTypeLibWithResolver 関数

タイプ ライブラリを読み込み、提供される ITypeLibResolver インターフェイスを使用して、内部的に参照されるタイプ ライブラリを解決します。

HRESULT LoadTypeLibWithResolver(
    [in]  LPCOLESTR           szFile,
    [in]  REGKIND             regkind,
    [in]  ITypeLibResolver   *pTlbResolver,
    [out] ITypeLib          **pptlib);

パラメーター

  • szFile
    [入力] タイプ ライブラリのファイル パス。

  • regkind
    [入力] タイプ ライブラリの登録方法を制御する REGKIND Enumeration 列挙フラグ。 次の値を指定できます。

    • REGKIND_DEFAULT : 既定の登録動作に基づきます。

    • REGKIND_REGISTER : タイプ ライブラリを登録します。

    • REGKIND_NONE : このタイプ ライブラリを登録しません。

  • pTlbResolver
    [入力] ITypeLibResolver インターフェイスの実装へのポインター。

  • pptlib
    [出力] 読み込まれるタイプ ライブラリへの参照。

戻り値

次の表に示す、いずれかの HRESULT 値。

戻り値

説明

S_OK

成功。

E_OUTOFMEMORY

メモリが不足しています。

E_POINTER

1 つ以上のポインターが無効です。

E_INVALIDARG

1 つ以上の引数が無効です。

TYPE_E_IOERROR

関数で、ファイルに書き込むことができませんでした。

TYPE_E_REGISTRYACCESS

システム登録データベースを開くことができませんでした。

TYPE_E_INVALIDSTATE

タイプ ライブラリを開くことができませんでした。

TYPE_E_CANTLOADLIBRARY

タイプ ライブラリまたは DLL を読み込むことができませんでした。

解説

アセンブリからタイプ ライブラリへの変換プロセス中、Tlbexp.exe (タイプ ライブラリ エクスポーター)LoadTypeLibWithResolver 関数を呼び出します。

この関数は、レジストリに対する最小限のアクセス権を使用して、指定のタイプ ライブラリを読み込みます。 次に、関数は、内部的に参照されるタイプ ライブラリについてタイプ ライブラリを調べます。各タイプ ライブラリは、読み込まれて親タイプ ライブラリに追加される必要があります。

参照されるタイプ ライブラリを読み込む前に、ファイルの完全パスに対して参照ファイル パスを解決する必要があります。 この処理は、ITypeLibResolver インターフェイスで提供される ResolveTypeLib メソッドによって行われます。ITypeLibResolver インターフェイスは、pTlbResolver パラメーターで渡されます。

参照されるタイプ ライブラリのファイルの完全パスがわかっている場合、LoadTypeLibWithResolver 関数は、参照されるタイプ ライブラリを読み込み、親タイプ ライブラリに追加します。これにより、結合されたマスター タイプ ライブラリが作成されます。

内部的に参照されるすべてのタイプ ライブラリを解決して読み込むと、関数は、解決されたマスター タイプ ライブラリへの参照を pptlib パラメーターを通して返します。

LoadTypeLibWithResolver 関数は、一般に、Tlbexp.exe (タイプ ライブラリ エクスポーター) によって呼び出されます。このツールは、pTlbResolver パラメーターに独自の内部的な ITypeLibResolver インターフェイス実装を提供します。

LoadTypeLibWithResolver を直接呼び出す場合は、独自の ITypeLibResolver インターフェイス実装を提供する必要があります。

必要条件

プラットフォーム : 「.NET Framework システム要件」を参照

ヘッダー : TlbRef.h

ライブラリ : TlbRef.lib

.NET Framework のバージョン : 3.5、3.0、2.0

参照

参照

LoadTypeLibEx Function

その他の技術情報

Tlbexp ヘルパー関数 (アンマネージ API リファレンス)