次の方法で共有


LoadPackagedLibrary 関数 (winbase.h)

指定したパッケージ化されたモジュールとその依存関係を呼び出し元プロセスのアドレス空間に読み込みます。

構文

HMODULE LoadPackagedLibrary(
  [in] LPCWSTR lpwLibFileName,
       DWORD   Reserved
);

パラメーター

[in] lpwLibFileName

読み込むパッケージ モジュールのファイル名。 モジュールには、ライブラリ モジュール (.dll ファイル) または実行可能モジュール (.exe ファイル) を指定できます。

このパラメーターでパスのないモジュール名を指定し、ファイル名拡張子を省略すると、関数はモジュール名に既定のライブラリ拡張.dllを追加します。 関数がモジュール名に.dllを追加できないようにするには、モジュール名の文字列に末尾のポイント文字 (.) を含めます。

このパラメーターでパスが指定されている場合、関数はそのパスでモジュールを検索します。 パスに絶対パスまたは ".." を含む相対パスを指定することはできません。 パスを指定するときは、スラッシュ (/) ではなく円記号 (\) を使用してください。 パスの詳細については、「 名前付けファイル、パス、および名前空間」を参照してください。

指定したモジュールが既にプロセスに読み込まれている場合、関数は読み込まれたモジュールにハンドルを返します。 モジュールは、プロセスのパッケージ依存関係グラフから最初に読み込まれている必要があります。

指定したモジュールを読み込むと、システムが他の関連モジュールを読み込む場合、関数は最初に読み込まれたモジュールを検索し、次にプロセスのパッケージ依存関係グラフを検索します。 詳細については、「解説」を参照してください。

Reserved

このパラメーターは予約されています。 0 である必要があります。

戻り値

関数が成功した場合、戻り値は読み込まれたモジュールへのハンドルです。

関数が失敗した場合、戻り値は NULL になります。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

LoadPackagedLibrary 関数は、LoadLibraryEx の簡略化されたバージョンです。 パッケージ 化されたアプリでは 、LoadPackagedLibrary を使用してパッケージ化されたモジュールを読み込むことができます。 パッケージ化されていないアプリケーションでは LoadPackagedLibrary を使用できません。パッケージ化されていないアプリケーションがこの関数を呼び出すと、 APPMODEL_ERROR_NO_PACKAGEで失敗します。

LoadPackagedLibrary は、指定したモジュールへのハンドルを返し、その参照カウントをインクリメントします。 モジュールが既に読み込まれている場合、関数は読み込まれたモジュールにハンドルを返します。 呼び出し元のプロセスでは、 LoadPackagedLibrary によって返されるハンドルを使用して、 GetProcAddress 関数の呼び出しでモジュールを識別できます。 FreeLibrary 関数を使用して、読み込まれたモジュールを解放し、その参照カウントを減らします。

関数は、指定したモジュールまたはその依存関係を検索する必要がある場合、プロセスのパッケージ依存関係グラフのみを検索します。 これは、アプリケーションのパッケージと、アプリケーションのパッケージ マニフェストのセクションで<Dependencies>指定<PackageDependency>されている依存関係です。 依存関係は、マニフェストに表示される順序で検索されます。 パッケージ依存関係グラフは、アプリケーションの <Dependencies> パッケージ マニフェストのセクションで指定します。 依存関係は、マニフェストに表示される順序で検索されます。 検索は次のように進みます。

  1. 関数は、既に読み込まれているモジュールを最初に検索します。 指定したモジュールがプロセスのパッケージ依存関係グラフから最初に読み込まれた場合、関数は読み込まれたモジュールにハンドルを返します。 指定したモジュールがプロセスのパッケージ依存関係グラフから読み込まれていない場合、関数は NULL を返します。
  2. モジュールがまだ読み込まれていない場合、関数はプロセスのパッケージ依存関係グラフを検索します。
  3. 指定したモジュールまたはその依存関係のいずれかが関数で見つからない場合、関数は失敗します。
DllMain から LoadPackagedLibrary を呼び出しても安全ではありません。 詳細については、 DllMain の「解説」セクションを参照してください。

Note

Windows Phoneでは、LoadPackagedLibrary を からPhoneAppModelHost.dll呼び出す必要があります。 の使用 Kernel32.dll はサポートされていません。

要件

   
サポートされている最小のクライアント Windows 8 [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2012 [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー winbase.h (Windows.h を含む)
Library Kernel32.lib
[DLL] Kernel32.dll

関連項目

ダイナミック リンク ライブラリの検索順序