次の方法で共有


BindImageEx 関数 (imagehlp.h)

インポートされる各関数の仮想アドレスを計算します。

構文

BOOL IMAGEAPI BindImageEx(
  [in] DWORD                    Flags,
  [in] PCSTR                    ImageName,
  [in] PCSTR                    DllPath,
  [in] PCSTR                    SymbolPath,
  [in] PIMAGEHLP_STATUS_ROUTINE StatusRoutine
);

パラメーター

[in] Flags

バインド オプション。 このパラメーターは、次の値と組み合わせて使用できます。

説明
BIND_ALL_IMAGES
0x00000004
このファイルの呼び出しツリー内のすべてのイメージをバインドします。
BIND_CACHE_IMPORT_DLLS
0x00000008
呼び出しの間にキャッシュ内の DLL 情報を破棄しないでください。 これにより、多数のイメージをバインドするときのパフォーマンスが向上します。
BIND_NO_BOUND_IMPORTS
0x00000001
新しいインポート アドレス テーブルを生成しないでください。
BIND_NO_UPDATE
0x00000002
ファイルを変更しないでください。

[in] ImageName

バインドするファイルの名前。 この値には、ファイル名、部分パス、または完全パスを指定できます。

[in] DllPath

ImageName パラメーターで指定されたファイルを開くことができない場合に使用する検索パスのルート。

[in] SymbolPath

ファイルの対応するシンボル ファイルを検索するパスのルート。

[in] StatusRoutine

状態ルーチンへのポインター。 状態ルーチンは、イメージ バインドの進行中に呼び出されます。 詳細については、「 StatusRoutine」を参照してください。

戻り値

関数が成功した場合、戻り値は TRUE になります

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

解説

イメージをバインドするプロセスは、インポートされた各関数の仮想アドレスの計算で構成されます。 計算された仮想アドレスは、インポート イメージのインポート アドレス テーブル (IAT) に保存されます。 その結果、システム ローダーはインポートされた各関数のアドレスを計算する必要がないため、特に多くの DLL を使用する場合は、イメージの読み込み速度が大幅に向上します。

対応するシンボル ファイルが見つからない場合は、タイム スタンプとチェックサムが更新されます。

この関数など、すべての ImageHlp 関数はシングル スレッドです。 そのため、複数のスレッドからこの関数を呼び出すと、予期しない動作やメモリ破損が発生する可能性があります。 これを回避するには、複数のスレッドからのすべての同時呼び出しをこの関数に同期する必要があります。

要件

   
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー imagehlp.h
Library Imagehlp.lib
[DLL] Imagehlp.dll

関連項目

ImageHlp 関数

StatusRoutine