Freigeben über


PEHeaderBuilder Konstruktor

Definition

Initialisiert eine neue Instanz der PEHeader-Klasse.

public PEHeaderBuilder (System.Reflection.PortableExecutable.Machine machine = System.Reflection.PortableExecutable.Machine.Unknown, int sectionAlignment = 8192, int fileAlignment = 512, ulong imageBase = 4194304, byte majorLinkerVersion = 48, byte minorLinkerVersion = 0, ushort majorOperatingSystemVersion = 4, ushort minorOperatingSystemVersion = 0, ushort majorImageVersion = 0, ushort minorImageVersion = 0, ushort majorSubsystemVersion = 4, ushort minorSubsystemVersion = 0, System.Reflection.PortableExecutable.Subsystem subsystem = System.Reflection.PortableExecutable.Subsystem.WindowsCui, System.Reflection.PortableExecutable.DllCharacteristics dllCharacteristics = System.Reflection.PortableExecutable.DllCharacteristics.DynamicBase | System.Reflection.PortableExecutable.DllCharacteristics.NoSeh | System.Reflection.PortableExecutable.DllCharacteristics.NxCompatible | System.Reflection.PortableExecutable.DllCharacteristics.TerminalServerAware, System.Reflection.PortableExecutable.Characteristics imageCharacteristics = System.Reflection.PortableExecutable.Characteristics.Dll, ulong sizeOfStackReserve = 1048576, ulong sizeOfStackCommit = 4096, ulong sizeOfHeapReserve = 1048576, ulong sizeOfHeapCommit = 4096);
new System.Reflection.PortableExecutable.PEHeaderBuilder : System.Reflection.PortableExecutable.Machine * int * int * uint64 * byte * byte * uint16 * uint16 * uint16 * uint16 * uint16 * uint16 * System.Reflection.PortableExecutable.Subsystem * System.Reflection.PortableExecutable.DllCharacteristics * System.Reflection.PortableExecutable.Characteristics * uint64 * uint64 * uint64 * uint64 -> System.Reflection.PortableExecutable.PEHeaderBuilder
Public Sub New (Optional machine As Machine = System.Reflection.PortableExecutable.Machine.Unknown, Optional sectionAlignment As Integer = 8192, Optional fileAlignment As Integer = 512, Optional imageBase As ULong = 4194304, Optional majorLinkerVersion As Byte = 48, Optional minorLinkerVersion As Byte = 0, Optional majorOperatingSystemVersion As UShort = 4, Optional minorOperatingSystemVersion As UShort = 0, Optional majorImageVersion As UShort = 0, Optional minorImageVersion As UShort = 0, Optional majorSubsystemVersion As UShort = 4, Optional minorSubsystemVersion As UShort = 0, Optional subsystem As Subsystem = System.Reflection.PortableExecutable.Subsystem.WindowsCui, Optional dllCharacteristics As DllCharacteristics = System.Reflection.PortableExecutable.DllCharacteristics.DynamicBase | System.Reflection.PortableExecutable.DllCharacteristics.NoSeh | System.Reflection.PortableExecutable.DllCharacteristics.NxCompatible | System.Reflection.PortableExecutable.DllCharacteristics.TerminalServerAware, Optional imageCharacteristics As Characteristics = System.Reflection.PortableExecutable.Characteristics.Dll, Optional sizeOfStackReserve As ULong = 1048576, Optional sizeOfStackCommit As ULong = 4096, Optional sizeOfHeapReserve As ULong = 1048576, Optional sizeOfHeapCommit As ULong = 4096)

Parameter

machine
Machine

Die CPU-Architektur des Zielcomputers.

sectionAlignment
Int32

Die Ausrichtung (in Bytes) von Abschnitten beim Laden in den Arbeitsspeicher. Dieses muss größer oder gleich fileAlignment sein. Der Standard für die Architektur ist die Seitengröße.

fileAlignment
Int32

Der Ausrichtungsfaktor (in Byte), der verwendet wird, um die Rohdaten von Abschnitten in der Imagedatei auszurichten. Der Wert muss eine Potenz von 2 sein und zwischen 512 und einschließlich 64.000 liegen. Der Standardwert liegt bei 512. Wenn sectionAlignment kleiner ist als die Seitengröße der Architektur, dann muss fileAlignment mit sectionAlignment übereinstimmen.

imageBase
UInt64

Beim Laden in den Arbeitsspeicher muss die bevorzugte Adresse des ersten Imagebytes ein Vielfaches von 64.000 sein.

majorLinkerVersion
Byte

Die Hauptversionsnummer des Linker.

minorLinkerVersion
Byte

Die Nebenversionsnummer des Linker.

majorOperatingSystemVersion
UInt16

Die Hauptversionsnummer des erforderlichen Betriebssystems.

minorOperatingSystemVersion
UInt16

Die Nebenversionsnummer des erforderlichen Betriebssystems.

majorImageVersion
UInt16

Die Hauptversionsnummer des Images.

minorImageVersion
UInt16

Die Nebenversionsnummer des Images.

majorSubsystemVersion
UInt16

Die Hauptversionsnummer des Subsystems.

minorSubsystemVersion
UInt16

Die Nebenversionsnummer des Subsystems.

subsystem
Subsystem

Das Subsystem, das für die Ausführung des Images erforderlich ist.

dllCharacteristics
DllCharacteristics

Ein Objekt, das die Merkmale der Dynamic Link Library beschreibt.

imageCharacteristics
Characteristics

Ein Objekt, das die Merkmale des Images beschreibt.

sizeOfStackReserve
UInt64

Die Größe des Stapels, der reserviert werden soll. Nur für sizeOfStackCommit wird ein Commit ausgeführt. Der Rest wird auf jeweils einer Seite verfügbar gemacht, bis die Reservierungsgröße erreicht ist.

sizeOfStackCommit
UInt64

Dier Größe des Stapels, für den ein Commit ausgeführt wird.

sizeOfHeapReserve
UInt64

Die Größe des Speicherplatzes für den lokalen Heap, der reserviert werden soll. Nur für sizeOfHeapCommit wird ein Commit ausgeführt. Der Rest wird auf jeweils einer Seite verfügbar gemacht, bis die Reservierungsgröße erreicht ist.

sizeOfHeapCommit
UInt64

Die Größe des Speicherplatzes für den lokalen Heap, für den ein Commit ausgeführt werden soll.

Ausnahmen

fileAlignment ist keine Potenz von 2, die zwischen 512 und 64.000 liegt. - oder -

sectionAlignment ist keine Potenz von 2.

- oder -

sectionAlignment ist kleiner als fileAlignment.

Gilt für: