IMAGE_FILE_HEADER结构(winnt.h)

表示 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 结构