Sdílet prostřednictvím


PEHeaderBuilder Konstruktor

Definice

Inicializuje novou instanci PEHeader třídy.

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)

Parametry

machine
Machine

Architektura procesoru cílového počítače

sectionAlignment
Int32

Zarovnání oddílů (v bajtech) při jejich načtení do paměti Musí být větší než nebo rovno fileAlignment. Výchozí je velikost stránky pro architekturu.

fileAlignment
Int32

Faktor zarovnání (v bajtech), který se používá k zarovnání nezpracovaných dat oddílů v souboru obrázku. Hodnota by měla být mocnina 2 mezi 512 a 64 tisíci včetně. Výchozí hodnota je 512. Pokud je hodnota sectionAlignment menší než velikost stránky architektury, musí se shodovat sectionAlignmentfileAlignment .

imageBase
UInt64

Upřednostňovaná adresa prvního bajtu obrázku při načtení do paměti; musí být násobkem 64 tisíc.

majorLinkerVersion
Byte

Číslo hlavní verze linkeru.

minorLinkerVersion
Byte

Číslo podverze linkeru.

majorOperatingSystemVersion
UInt16

Číslo hlavní verze požadovaného operačního systému.

minorOperatingSystemVersion
UInt16

Číslo podverze požadovaného operačního systému.

majorImageVersion
UInt16

Číslo hlavní verze image.

minorImageVersion
UInt16

Číslo podverze image.

majorSubsystemVersion
UInt16

Číslo hlavní verze subsystému.

minorSubsystemVersion
UInt16

Číslo podverze subsystému.

subsystem
Subsystem

Subsystém potřebný ke spuštění image.

dllCharacteristics
DllCharacteristics

Objekt popisující charakteristiky dynamické knihovny odkazů.

imageCharacteristics
Characteristics

Objekt popisující charakteristiky obrázku.

sizeOfStackReserve
UInt64

Velikost zásobníku, který chcete rezervovat. Je potvrzen pouze sizeOfStackCommit ; zbytek je k dispozici po jedné stránce, dokud není dosaženo velikosti rezervy.

sizeOfStackCommit
UInt64

Velikost zásobníku, který se má potvrdit.

sizeOfHeapReserve
UInt64

Velikost místa místní haldy, kterou chcete rezervovat. Je potvrzen pouze sizeOfHeapCommit ; zbytek je k dispozici po jedné stránce, dokud není dosaženo velikosti rezervy.

sizeOfHeapCommit
UInt64

Velikost místa místní haldy k potvrzení.

Výjimky

fileAlignment není výkon 2 mezi 512 a 64 K. -nebo-

sectionAlignment není mocnina 2.

-nebo-

sectionAlignment je menší než fileAlignment.

Platí pro