動的リンクのLoad-Time
システムは、読み込み時の動的リンクを使用するプログラムを起動すると、リンカーがファイルに配置した情報を使用して、プロセスで使用される DLL の名前を見つけます。 その後、DLL が検索されます。 詳細については、「ダイナミック リンク ライブラリの検索順序」を参照してください。
必要な DLL が見つからない場合、システムはプロセスを終了し、エラーをユーザーに報告するダイアログ ボックスを表示します。 それ以外の場合、システムは DLL をプロセスの仮想アドレス空間にマップし、DLL 参照カウントをインクリメントします。
システムはエントリ ポイント関数を呼び出します。 関数は、プロセスが DLL を読み込むかどうかを示すコードを受け取ります。 エントリ ポイント関数が TRUE を返さない場合、システムは処理を停止し、エラーを報告します。 エントリ ポイント関数の詳細については、「 ダイナミック リンク ライブラリ Entry-Point関数」を参照してください。
最後に、システムは、インポートされた DLL 関数の開始アドレスを使用して関数アドレス テーブルを変更します。
DLL は、初期化中にプロセスの仮想アドレス空間にマップされ、必要な場合にのみ物理メモリに読み込まれます。
関連トピック