代表 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;
成员
机器
计算机的架构类型。图像文件只能在指定的计算机上运行,或者在模拟指定计算机的系统上运行。此成员可以是以下值之一。
价值
意义
IMAGE_FILE_MACHINE_I386
0x014c
x86
IMAGE_FILE_MACHINE_IA64
0x0200
Intel Itanium
IMAGE_FILE_MACHINE_AMD64
0x8664
x64
章节数
节的数量。这表示节表的大小,紧随头部之后。请注意,Windows加载程序将节的数量限制为96。
TimeDateStamp
图像时间戳的低32位。这代表了链接器创建图像的日期和时间。该值表示自1970年1月1日协调世界时午夜(00:00:00)以来经过的秒数,根据系统时钟。
符号表指针
符号表的偏移量(以字节为单位),如果不存在 COFF 符号表,则为零。
符号数量
符号表中的符号数量。
SizeOfOptionalHeader
可选标头的大小,以字节为单位。对于目标文件,此值应为0。
特点
图像的特征。此成员可以是以下一个或多个值之一。
价值
意义
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
如果图像位于网络上,请将其复制到并从交换文件中运行。
图像文件系统
0x1000
这是一个系统文件。
IMAGE_FILE_DLL
0x2000
该图片是一个DLL文件。虽然它是一个可执行文件,但不能直接运行。
仅限图片上传系统
0x4000
该文件应仅在单处理器计算机上运行。
IMAGE_FILE_BYTES_REVERSED_HI
0x8000
这个单词的字节被颠倒了。这个标记已经过时了。
需求
需求
数值
最低支持客户端
Windows XP \[仅限桌面应用程序\]
最低支持的服务器
Windows Server 2003 [仅限桌面应用程序 ext]
标题
winnt.h(包括 Windows.h)
另请参阅
ImageHlp 结构