3.4 オプション ヘッダ(通常はイメージのみ)

どのイメージ ファイルにも、ローダに情報を提供するためのオプション ヘッダがあります。このヘッダはPEヘッダとしても参照されます。このヘッダはファイルによってはこれを持たないものもある(特にオブジェクト ファイル)という意味でオプションです。イメージ ファイルにとってはこのヘッダは必須です。オブジェクト ファイルはオプション ヘッダを持つこともありますが、一般にはこのヘッダはオブジェクト ファイルではサイズを大きくする以外の働きを持ちません。

オプション ヘッダのサイズは固定ではありません。COFFヘッダのOptional Header Size (3.3節COFFファイルヘッダ(オブジェクトとイメージ)参照)をオプション ヘッダのNumber of Data Directoriesフィールドと組み合わせて、ヘッダのサイズを正確に計算しなければなりません。さらに、オプション ヘッダのマジック番号が形式に適合していることを検証することも重要です。 オプション ヘッダ自体は大きく3つの部分に分かれています。

オフセット サイズ ヘッダサイズ 解説
0 28 標準フィールド これらはUNIX(r)を含めたすべてのCOFFで定義されています。
28 68 Windows固有フィールド これらにはWindows固有の機能(たとえばサブシステム)をサポートするための追加フィールドが含まれています。
96 128 データ ディレクトリ これらのフィールドは専用テーブルのアドレス/サイズのペアで、イメージ ファイル中に見られ、オペレーティング システムによって使用されます(たとえば、インポート テーブルとエクスポート テーブル)。


戻る