3.4.2 オプション ヘッダのWindows NT固有フィールド(イメージのみ)

次の21個のフィールドは、COFFオプション ヘッダ形式への拡張で、Windows NTのリンカとローダに必要な情報を含んでいます。

オフセット サイズ フィールド 解説
28 4 ImageBase メモリにロードされるときのイメージの先頭バイトの望ましいアドレス。64Kの倍数でなければなりません。DLLの場合のデフォルト値は0x10000000です。Windows CE EXEの場合のデフォルト値は0x00010000です。 Windows NT、Windows 95、および Windows 98の場合のデフォルト値は0x00400000です。
32 4 SectionAlignment メモリにロードされるときのセクションの境界(バイト単位)。File Alignmentと等しいか、それよりも大きな値でなければなりません。デフォルトの値はアーキテクチャのページ サイズです。
36 4 FileAlignment イメージ ファイル中のセクションの生データの境界を合わせるために使われる係数(バイト単位)。値は512から64Kまでの2の乗数でなければなりません。デフォルトの値は512です。SectionAlignment がアーキテクチャのページ サイズよりも小さい場合には、これはSectionAlignmentと一致していなければなりません。
40 2 MajorOperatingSystemVersion 必要なOSのメジャー バージョン番号
42 2 MinorOperatingSystemVersion 必要なOSのマイナー バージョン番号
44 2 MajorImageVersion イメージのメジャー バージョン番号
46 2 MinorImageVersion イメージのマイナー バージョン番号
48 2 MajorSubsystemVersion サブシステムのメジャー バージョン番号
50 2 MinorSubsystemVersion サブシステムのマイナー バージョン番号
52 4 Reserved Dd
56 4 SizeOfImage すべてのヘッダを含めたイメージのサイズ(バイト単位)。Section Alignmentの倍数でなければなりません。
60 4 SizeOfHeaders MS-DOSスタブ、PEヘッダ、およびセクション ヘッダを結合して、FileAlignmentの倍数になるようにしたサイズ。
64 4 CheckSum イメージ ファイルのチェックサム。計算のためのアルゴリズムはIMAGHELP.DLL.に組み込まれます。ロード時にすべてのドライバ、ブート時にロードされるDLL、およびサーバになるDLLが検査されます。
68 2 Subsystem このイメージを実行するために必要なサブシステムです。詳細は下記の「Windows NTのサブシステム」で説明します。
70 2 DllCharacteristics 詳細は下記の「DLL 特性」を参照してください。
72 4 SizeOfStackReserve 保存するスタックのサイズ。Stack Commit Sizeで指定されただけしかコミットされません。残りは一度に1ページずつ予約されたサイズになるまで利用できるようになります。
76 4 SizeOfStackCommit コミットするスタックのサイズ。
80 4 SizeOfHeapReserve 保存するローカル ヒープ スペースのサイズ。Heap Commit Sizeの分だけがコミットされます。残りの部分は予約されたサイズに達するまで、1ページずつ利用できるようになります。
84 4 SizeOfHeapCommit コミットするローカル ヒープ スペースのサイズ。
88 4 LoaderFlags 無効
92 4 NumberOfRvaAndSizes オプション ヘッダの残りの部分にあるデータ ディクショナリ エントリの数。それぞれが位置とサイズを記述します。

Windows NTサブシステム

以下の値はオプション ヘッダのSubsystemフィールドのために定義されています。これらは、存在していれば、Windows NTのサブシステムがイメージを実行するために必要なものを決定します。

定数 解説
IMAGE_SUBSYSTEM_UNKNOWN 0 未知のサブシステム
IMAGE_SUBSYSTEM_NATIVE 1 デバイス ドライバおよびWindows NTネイティブのプロセスのために使用されます。
IMAGE_SUBSYSTEM_WINDOWS_GUI 2 Windows(tm) グラフィカル ユーザー インタフェース(GUI)サブシステム内で実行されるイメージです。
IMAGE_SUBSYSTEM_WINDOWS_CUI 3 Windowsの文字サブシステム内で実行されるイメージです。
IMAGE_SUBSYSTEM_POSIX_CUI 7 Posix 文字サブシステム内で実行されるイメージです。
IMAGE_SUBSYSTEM_WINDOWS_CE_GUI 9 Windows CE上で実行されるイメージです。

DLL 特性

以下の値はオプション ヘッダの DllCharacteristics フィールドのために定義されています。

定数 解説
  0x0001 予約されています。
  0x0002 予約されています。
  0x0004 予約されています。
  0x0008 予約されています。
IMAGE_DLLCHARACTERISTICS_WDM_DRIVER 0x2000 ドライバは WDMドライバです。


戻る