PEHeaderBuilder Konstruktor

Definicja

Inicjuje nowe wystąpienie klasy PEHeader.

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 procesora CPU maszyny docelowej.

sectionAlignment
Int32

Wyrównanie (w bajtach) sekcji podczas ich ładowania do pamięci. Musi być większy lub równy fileAlignment. Wartość domyślna to rozmiar strony dla architektury.

fileAlignment
Int32

Współczynnik wyrównania (w bajtach), który jest używany do wyrównywania nieprzetworzonych danych sekcji w pliku obrazu. Wartość powinna być potęgą 2 z zakresu od 512 do 64K włącznie. Wartość domyślna to 512. sectionAlignment Jeśli wartość jest mniejsza niż rozmiar strony architektury, fileAlignment musi być zgodna z sectionAlignmentwartością .

imageBase
UInt64

Preferowany adres pierwszego bajtu obrazu podczas ładowania do pamięci; musi mieć wielokrotność 64K.

majorLinkerVersion
Byte

Numer wersji głównej konsolidatora.

minorLinkerVersion
Byte

Numer wersji pomocniczej konsolidatora.

majorOperatingSystemVersion
UInt16

Numer wersji głównej wymaganego systemu operacyjnego.

minorOperatingSystemVersion
UInt16

Numer wersji pomocniczej wymaganego systemu operacyjnego.

majorImageVersion
UInt16

Numer wersji głównej obrazu.

minorImageVersion
UInt16

Numer wersji pomocniczej obrazu.

majorSubsystemVersion
UInt16

Numer wersji głównej podsystemu.

minorSubsystemVersion
UInt16

Numer wersji pomocniczej podsystemu.

subsystem
Subsystem

Podsystem wymagany do uruchomienia obrazu.

dllCharacteristics
DllCharacteristics

Obiekt opisujący cechy biblioteki linków dynamicznych.

imageCharacteristics
Characteristics

Obiekt opisujący cechy obrazu.

sizeOfStackReserve
UInt64

Rozmiar stosu do zarezerwowania. Zatwierdza się tylko sizeOfStackCommit jedną stronę. Pozostała strona jest udostępniana jednocześnie do momentu osiągnięcia rozmiaru rezerwy.

sizeOfStackCommit
UInt64

Rozmiar stosu do zatwierdzenia.

sizeOfHeapReserve
UInt64

Rozmiar lokalnego miejsca sterty do zarezerwowania. Zatwierdza się tylko sizeOfHeapCommit jedną stronę. Pozostała strona jest udostępniana jednocześnie do momentu osiągnięcia rozmiaru rezerwy.

sizeOfHeapCommit
UInt64

Rozmiar lokalnego miejsca sterty do zatwierdzenia.

Wyjątki

fileAlignment nie jest mocą 2 z zakresu od 512 do 64K. — lub —

sectionAlignment nie moc 2.

— lub —

sectionAlignment wartość jest mniejsza niż fileAlignment.

Dotyczy