PEHeaderBuilder Konstruktor
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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í hodnota je velikost stránky pro architekturu.
- fileAlignment
- Int32
Faktor zarovnání (v bajtech), který slouží k zarovnání nezpracovaných dat oddílů v souboru obrázku. Hodnota by měla být 2 v rozmezí od 512 do 64 K včetně. Výchozí hodnota je 512.
sectionAlignment Pokud je menší než velikost stránky architektury, musí se fileAlignment shodovat sectionAlignment.
- imageBase
- UInt64
Upřednostňovaná adresa prvního bajtu image při načtení do paměti; musí být násobkem 64 kB.
- 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 obrázku.
- majorSubsystemVersion
- UInt16
Hlavní číslo 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 propojení.
- imageCharacteristics
- Characteristics
Objekt popisující charakteristiky obrázku.
- sizeOfStackReserve
- UInt64
Velikost zásobníku, který chcete rezervovat. Potvrzeno je pouze sizeOfStackCommit ; zbytek je k dispozici po jedné stránce, dokud nedosáhnete velikosti rezervy.
- sizeOfStackCommit
- UInt64
Velikost zásobníku, který se má potvrdit.
- sizeOfHeapReserve
- UInt64
Velikost místního prostoru haldy, která se má rezervovat. Potvrzeno je pouze sizeOfHeapCommit ; zbytek je k dispozici po jedné stránce, dokud nedosáhnete velikosti rezervy.
- sizeOfHeapCommit
- UInt64
Velikost místa místní haldy, která se má potvrdit.
Výjimky
fileAlignment není mocnina 2 mezi 512 a 64 K.
nebo
sectionAlignment výkonu 2.
nebo
sectionAlignment je menší než fileAlignment.