<Return[B]><Top>

BindImageEx

Declare Function Api_BindImageEx& Lib "imagehlp" Alias "BindImageEx" (ByVal Flags&, ByVal ImageName$, ByVal DllPath$, ByVal SymbolPath$, ByRef StatusRoutine As PIMAGEHLP_STATUS_ROUTINE)

Declare Function BindImageEx Lib "imagehlp" Alias "BindImageEx" (ByVal Flags As Long, ByVal ImageName As String, ByVal DllPath As String, ByVal SymbolPath As String, ByRef StatusRoutine As PIMAGEHLP_STATUS_ROUTINE) As Long

インポートされた各関数の仮想アドレスを計算する。
この関数は、BindImage の改訂版である。

ステータスルーチンやフラグを提供したり、イメージのバインドを制御するには、BindImageEx を使う。

パラメータ
Flags
    関数の動作を指定する。このパラメータは、次の値の任意の組み合わせである。
 

    値                                               

意味                                                                                                                           

    BIND_NO_BOUND_IMPORTS

 

新しいインポートアドレステーブルを生成しない。
Windows 95/98:このフラグは必要である。

    BIND_NO_UPDATE

ファイルに変更を加えない。

    BIND_ALL_IMAGES

呼び出しツリー内のすべてのイメージをファイルにバインドする。

    BIND_CACHE_IMPORT_DLLS

 

DLLS 呼び出しと呼び出しの間に、キャッシュ内の DLL 情報を廃棄しない。この結果、多数のイメージをバインドするときのパフォーマンスが向上する。

ImageName
    バインドしたいファイル名を指定する、null で終わる文字列へのポインタを指定する。この値は、ファイル名、部分パス、完全パスのいずれ

    かである。
DllPath
    ImageName パラメータで指定されたファイルを開けないときに使いたい検索パスのルートを指定する、null で終わる文字列へのポインタを指

    定する。
SymbolPath
    ファイルに対応するシンボルファイルを検索するためのパスのルートを指定する、null で終わる文字列へのポインタを指定する。
StatusRoutine
    ステータスルーチンへのポインタを指定する。このステータスルーチンは、イメージバインディングの進行中に呼び出される。

戻り値
    関数が成功すると、TRUE が返る。
    関数が失敗すると、FALSE が返る。拡張エラー情報を取得するには、 関数を使う。

解説
    イメージをバインドするプロセスは、インポートされた各関数の仮想アドレスを計算する作業によって構成されている。次に、計算された仮想

    アドレスをインポート側のイメージのインポートアドレステーブル(IAT)に保存する。この結果、インポートされた各関数の仮想アドレスをシステム

    ローダーが計算する必要がなくなるので、特にイメージが多くの DLL を使っている場合、イメージのロードが非常に高速になる。
   対応するシンボルファイルが見つかった場合、そのファイルのタイムスタンプとチェックサムを更新する。