Поделиться через


структура 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

Тип архитектуры компьютера. Файл образа можно запустить только на указанном компьютере или в системе, эмулирующей указанный компьютер. Этот элемент может иметь одно из следующих значений.

Значение Значение
IMAGE_FILE_MACHINE_I386
0x014c
x86
IMAGE_FILE_MACHINE_IA64
0x0200
Intel Itanium
IMAGE_FILE_MACHINE_AMD64
0x8664
X64

NumberOfSections

Количество разделов. Указывает размер таблицы разделов, которая сразу же следует за заголовками. Обратите внимание, что загрузчик Windows ограничивает количество разделов до 96.

TimeDateStamp

Низкие 32 бита метки времени изображения. Представляет дату и время создания образа компоновщиком. Значение представлено в количестве секунд, прошедших с полуночи (00:00:00), 1 января 1970 года, универсального скоординированного времени, в соответствии с системными часами.

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 ГБ.
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