PEHeaderBuilder Konstruktor
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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. Er muss größer oder gleich fileAlignmentsein. 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 sollte eine Potenz von 2 zwischen 512 und 64 KB (einschließlich) sein. Der Standardwert ist 512. Wenn die sectionAlignment Größe der Architektur kleiner als die Seitengröße der Architektur ist, muss sie fileAlignment übereinstimmen sectionAlignment.
- imageBase
- UInt64
Die bevorzugte Adresse des ersten Byte des Bilds, wenn es in den Arbeitsspeicher geladen wird; muss ein Vielfaches von 64K 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 zum Ausführen des Images erforderlich ist.
- dllCharacteristics
- DllCharacteristics
Ein Objekt, das die Merkmale der Dynamischen Linkbibliothek beschreibt.
- imageCharacteristics
- Characteristics
Ein Objekt, das die Merkmale des Bilds beschreibt.
- sizeOfStackReserve
- UInt64
Die Größe des Stapels, der reserviert werden soll. Nur sizeOfStackCommit zugesichert; der Rest wird jeweils eine Seite zur Verfügung gestellt, bis die Reservegröß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 sizeOfHeapCommit zugesichert; der Rest wird jeweils eine Seite zur Verfügung gestellt, bis die Reservegröß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 Leistung von 2 zwischen 512 und 64K.
-oder-
sectionAlignment nicht Potenz von 2.
-oder-
sectionAlignment ist kleiner als fileAlignment.