次の方法で共有


LoadTypeLib 関数 (oleauto.h)

タイプ ライブラリを読み込んで登録します。

構文

HRESULT LoadTypeLib(
  LPCOLESTR szFile,
  ITypeLib  **pptlib
);

パラメーター

szFile

メソッドがタイプ ライブラリを読み込もうとするファイルの名前。

pptlib

読み込まれたタイプ ライブラリ。

戻り値

この関数は、これらの値のいずれかを返すことができます。

リターン コード 説明
S_ok
正常終了しました。
E_INVALIDARG
1 つ以上の引数が無効です。
E_OUTOFMEMORY
操作を完了するためのメモリ不足。
TYPE_E_IOERROR
関数がファイルへの書き込みを実行できませんでした。
TYPE_E_INVALIDSTATE
タイプ ライブラリを開けませんでした。
TYPE_E_INVDATAREAD
関数がファイルから読み取れませんでした。
TYPE_E_UNSUPFORMAT
タイプ ライブラリの形式は古いです。
TYPE_E_UNKNOWNLCID
OLE でサポートされている DLL に LCID が見つかりませんでした。
TYPE_E_CANTLOADLIBRARY
タイプ ライブラリまたは DLL を読み込めませんでした。

解説

関数 LoadTypeLib は、指定されたファイルに格納されているタイプ ライブラリ (通常は MkTypLib で作成) を読み込みます。 szFile でパスのないファイル名のみが指定されている場合、LoadTypeLib はファイルを検索し、次のように処理します。

  • ファイルが Typelib.dll によって実装されるスタンドアロンタイプライブラリである場合、ライブラリは直接読み込まれます。
  • ファイルが DLL または実行可能ファイルの場合は、読み込まれます。 既定では、タイプ ライブラリは ITypeLib 型の最初のリソースから抽出されます。 別の種類のライブラリ リソースを読み込むには、整数インデックスを szFile に追加します。 例:
    ITypeLib *ptlib;
    LoadTypeLib("C:\\MONTANA\\EXE\\MFA.EXE\\3", &ptlib)
    

    このステートメントは、ファイル Mfa.exe ファイルからタイプ ライブラリ リソース 3 を読み込みます。

  • ファイルが上記のいずれでもない場合、ファイル名はモニカー (ファイル ベースのリンク ソースを表すオブジェクト) に解析され、モニカーにバインドされます。 この方法では、メモリ内タイプ ライブラリを含む外部タイプ ライブラリで LoadTypeLib を使用できます。 外部タイプ ライブラリは、DLL または実行可能ファイルに存在できません。 モニカーの詳細については、「COM プログラマー リファレンス」を参照してください。
タイプ ライブラリが既に読み込まれている場合、 LoadTypeLib はタイプ ライブラリの参照カウントをインクリメントし、タイプ ライブラリへのポインターを返します。

下位互換性のために、パスが szFile パラメーターで指定されていない場合、LoadTypeLib によってタイプ ライブラリが登録されます。 タイプ ライブラリのパスが指定されている場合、LoadTypeLib はタイプ ライブラリを登録しません。 RegisterTypeLib を使用してタイプ ライブラリを登録することをお勧めします。

要件

要件
対象プラットフォーム Windows
ヘッダー oleauto.h
Library OleAut32.lib
[DLL] OleAut32.dll