5.8.1 遅延ロード ディレクトリ テーブル

遅延ロード ディレクトリ テーブルは、インポート ディレクトリ テーブルに似ており、オプション ヘッダ データ ディレクトリ リストの遅延インポート記述子エントリ(オフセット200)を通じて取り出すことができます。テーブルの内容は次のようになっています。

オフセット サイズ フィールド 解説
0 4 Attributes ゼロでなければなりません。
4 4 Name ロードされるdllの名前のアドレス。名前はイメージの読み取り専用データ セクションにあります。
8 4 Module Handle 遅延ロードされるdllのモジュールハンドル(イメージのデータ セクション内)のアドレス。遅延ロードを管理するために供給されるルーチンによってストレージのために使用されます。
12 4 Delay Import Address Table 遅延ロード インポート アドレス テーブルのアドレス。詳しくは下記参照。
16 4 Delay Import Name Table 遅延ロード名テーブルのアドレス。これにはロードされる必要のあるインポートの名前が含まれています。インポート名テーブルのレイアウトと一致します。6.4.3節のヒント/名前テーブル。
20 4 Bound Delay Import Table 結合された遅延ロード アドレス テーブルが存在すれば、そのアドレス。
24 4 Unload Delay Import Table アンロード遅延ロード アドレス テーブルが存在すれば、そのアドレス。これは遅延インポート アドレス テーブルの正確なコピーです。呼び出し側がdllをアンロードする場合、このテーブルは遅延IATにコピーバックされ、そのdllに対する以降の呼び出しが、thunking機構を正しく使い続けられるようにします。
28 4 Time Stamp このイメージが結合されたdllのタイムスタンプ。

このデータ構造体によって参照されるテーブルは、これに対応する従来のインポートとまったく同様に組織され、整列されています。詳しくは6.4節「.idataセクション」を参照してください。


戻る