表示 COFF 标头格式。
语法
typedef struct _IMAGE_FILE_HEADER {
WORD Machine;
WORD NumberOfSections;
DWORD TimeDateStamp;
DWORD PointerToSymbolTable;
DWORD NumberOfSymbols;
WORD SizeOfOptionalHeader;
WORD Characteristics;
} IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER;
成员
Machine
计算机的体系结构类型。 图像文件只能在指定的计算机上运行,也可以是模拟指定计算机的系统。 此成员可以是以下值之一。
有关有效计算机类型和受支持的体系结构的完整列表,请参阅 PE 格式 文档。
NumberOfSections
节数。 这表示节表的大小,该表紧跟在标头后面。 请注意,Windows 加载程序将分区数限制为 96。
TimeDateStamp
图像时间戳的低 32 位。 这表示链接器创建映像的日期和时间。 根据系统时钟,该值以自午夜(00:00:00:00)、1970 年 1 月 1 日以来经过的秒数表示。
PointerToSymbolTable
如果不存在 COFF 符号表,则符号表的偏移量(以字节为单位或零)。
NumberOfSymbols
符号表中的符号数。
SizeOfOptionalHeader
可选标头的大小(以字节为单位)。 对于对象文件,此值应为 0。
Characteristics
图像的特征。 此成员可以是以下一个或多个值。
| 价值 |
意义 |
-
IMAGE_FILE_RELOCS_STRIPPED
- 0x0001
|
重定位信息已从文件中剥离。 文件必须在其首选基址加载。
如果基址不可用,加载程序将报告错误。
|
-
IMAGE_FILE_EXECUTABLE_IMAGE
- 0x0002
|
该文件是可执行文件(没有未解析的外部引用)。
|
-
IMAGE_FILE_LINE_NUMS_STRIPPED
- 0x0004
|
COFF 行号已从文件中删除。
|
-
IMAGE_FILE_LOCAL_SYMS_STRIPPED
- 0x0008
|
COFF 符号表项已从文件中剥离。
|
-
IMAGE_FILE_AGGRESIVE_WS_TRIM
- 0x0010
|
积极剪裁工作集。 此值已过时。
|
-
IMAGE_FILE_LARGE_ADDRESS_AWARE
- 0x0020
|
应用程序可以处理大于 2 GB 的地址。
|
-
IMAGE_FILE_BYTES_REVERSED_LO
- 0x0080
|
反转单词的字节数。 此标志已过时。
|
-
IMAGE_FILE_32BIT_MACHINE
- 0x0100
|
计算机支持 32 位单词。
|
-
IMAGE_FILE_DEBUG_STRIPPED
- 0x0200
|
调试信息已删除,并单独存储在另一个文件中。
|
-
IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP
- 0x0400
|
如果映像位于可移动媒体上,请将其复制到交换文件并从中运行。
|
-
IMAGE_FILE_NET_RUN_FROM_SWAP
- 0x0800
|
如果映像位于网络上,请将其复制到交换文件并从中运行。
|
-
IMAGE_FILE_SYSTEM
- 0x1000
|
映像是系统文件。
|
-
IMAGE_FILE_DLL
- 0x2000
|
映像是 DLL 文件。 虽然它是可执行文件,但它不能直接运行。
|
-
IMAGE_FILE_UP_SYSTEM_ONLY
- 0x4000
|
该文件应仅在单处理器计算机上运行。
|
-
IMAGE_FILE_BYTES_REVERSED_HI
- 0x8000
|
反转单词的字节数。 此标志已过时。
|
要求
| 要求 |
价值 |
|
最低支持的客户端 |
Windows XP [仅限桌面应用] |
|
支持的最低服务器 |
Windows Server 2003 [仅限桌面应用] |
|
标头 |
winnt.h (包括 Windows.h) |
另请参阅
IMAGE_NT_HEADERS
ImageHlp 结构