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;
Member
Machine
Der Architekturtyp des Computers. Eine Imagedatei kann nur auf dem angegebenen Computer oder einem System ausgeführt werden, das den angegebenen Computer emuliert. Dieser Member kann einer der folgenden Werte sein.
Wert
Bedeutung
IMAGE_FILE_MACHINE_I386
0x014c
x86
IMAGE_FILE_MACHINE_IA64
0x0200
Intel Itanium
IMAGE_FILE_MACHINE_AMD64
0x8664
x64
NumberOfSections
Die Anzahl der Abschnitte. Dies gibt die Größe der Abschnittstabelle an, die unmittelbar auf die Header folgt. Beachten Sie, dass das Windows-Ladeprogramm die Anzahl der Abschnitte auf 96 begrenzt.
TimeDateStamp
Die niedrigen 32 Bit des Zeitstempels des Bilds. Dies stellt das Datum und die Uhrzeit dar, zu der das Image vom Linker erstellt wurde. Der Wert wird in der Anzahl der Sekunden dargestellt, die seit Mitternacht (00:00:00:00), 1. Januar 1970, Universelle koordinierte Zeit, gemäß der Systemuhr verstrichen sind.
PointerToSymbolTable
Der Offset der Symboltabelle in Bytes oder null, wenn keine COFF-Symboltabelle vorhanden ist.
NumberOfSymbols
Die Anzahl der Symbole in der Symboltabelle.
SizeOfOptionalHeader
Die Größe des optionalen Headers in Bytes. Dieser Wert sollte für Objektdateien 0 sein.
Characteristics
Die Merkmale des Bilds. Bei diesem Member kann es sich um einen oder mehrere der folgenden Werte handeln.
Wert
Bedeutung
IMAGE_FILE_RELOCS_STRIPPED
0x0001
Umzugsinformationen wurden aus der Datei entfernt. Die Datei muss an ihrer bevorzugten Basisadresse geladen werden.
Wenn die Basisadresse nicht verfügbar ist, meldet das Ladeprogramm einen Fehler.
IMAGE_FILE_EXECUTABLE_IMAGE
0x0002
Die Datei ist ausführbar (es gibt keine ungelösten externen Verweise).
IMAGE_FILE_LINE_NUMS_STRIPPED
0x0004
COFF-Zeilennummern wurden aus der Datei entfernt.
IMAGE_FILE_LOCAL_SYMS_STRIPPED
0x0008
COFF-Symboltabelleneinträge wurden aus der Datei entfernt.
IMAGE_FILE_AGGRESIVE_WS_TRIM
0x0010
Kürzen Sie den Arbeitssatz aggressiv. Dieser Wert ist veraltet.
IMAGE_FILE_LARGE_ADDRESS_AWARE
0x0020
Die Anwendung kann Adressen verarbeiten, die größer als 2 GB sind.
IMAGE_FILE_BYTES_REVERSED_LO
0x0080
Die Bytes des Worts werden umgekehrt. Dieses Flag ist veraltet.
IMAGE_FILE_32BIT_MACHINE
0x0100
Der Computer unterstützt 32-Bit-Wörter.
IMAGE_FILE_DEBUG_STRIPPED
0x0200
Debuginformationen wurden entfernt und separat in einer anderen Datei gespeichert.
IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP
0x0400
Wenn sich das Image auf Einem Wechselmedium befindet, kopieren Sie es, und führen Sie es aus der Auslagerungsdatei aus.
IMAGE_FILE_NET_RUN_FROM_SWAP
0x0800
Wenn sich das Image im Netzwerk befindet, kopieren Sie es, und führen Sie es aus der Auslagerungsdatei aus.
IMAGE_FILE_SYSTEM
0x1000
Das Image ist eine Systemdatei.
IMAGE_FILE_DLL
0x2000
Das Image ist eine DLL-Datei. Obwohl es sich um eine ausführbare Datei handelt, kann sie nicht direkt ausgeführt werden.
IMAGE_FILE_UP_SYSTEM_ONLY
0x4000
Die Datei sollte nur auf einem Uniprozessorcomputer ausgeführt werden.
IMAGE_FILE_BYTES_REVERSED_HI
0x8000
Die Bytes des Worts werden umgekehrt. Dieses Flag ist veraltet.