PEHeaderBuilder Constructor
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Initialiseert een nieuw exemplaar van de 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)
Parameters
- machine
- Machine
De CPU-architectuur van de doelcomputer.
- sectionAlignment
- Int32
De uitlijning (in bytes) van secties wanneer ze in het geheugen worden geladen. Het moet groter dan of gelijk aan fileAlignmentzijn. De standaardwaarde is het paginaformaat voor de architectuur.
- fileAlignment
- Int32
De uitlijningsfactor (in bytes) die wordt gebruikt om de onbewerkte gegevens van secties in het afbeeldingsbestand uit te lijnen. De waarde moet een macht zijn van 2 tussen 512 en 64K, inclusief. De standaardwaarde is 512. Als de sectionAlignment pagina kleiner is dan het paginaformaat van de architectuur, moet deze fileAlignment overeenkomen sectionAlignment.
- imageBase
- UInt64
Het voorkeursadres van de eerste byte van de afbeelding wanneer deze in het geheugen wordt geladen; moet een veelvoud van 64.000 zijn.
- majorLinkerVersion
- Byte
Het primaire versienummer van de linker.
- minorLinkerVersion
- Byte
Het secundaire versienummer van de linker.
- majorOperatingSystemVersion
- UInt16
Het primaire versienummer van het vereiste besturingssysteem.
- minorOperatingSystemVersion
- UInt16
Het secundaire versienummer van het vereiste besturingssysteem.
- majorImageVersion
- UInt16
Het primaire versienummer van de installatiekopieën.
- minorImageVersion
- UInt16
Het secundaire versienummer van de installatiekopieën.
- majorSubsystemVersion
- UInt16
Het primaire versienummer van het subsysteem.
- minorSubsystemVersion
- UInt16
Het secundaire versienummer van het subsysteem.
- subsystem
- Subsystem
Het subsysteem dat nodig is om de installatiekopieën uit te voeren.
- dllCharacteristics
- DllCharacteristics
Een object met een beschrijving van de kenmerken van de dynamische koppelingsbibliotheek.
- imageCharacteristics
- Characteristics
Een object met een beschrijving van de kenmerken van de afbeelding.
- sizeOfStackReserve
- UInt64
De grootte van de stack die moet worden gereserveerd. Alleen sizeOfStackCommit wordt vastgelegd; de rest wordt één pagina tegelijk beschikbaar gesteld totdat de reservegrootte is bereikt.
- sizeOfStackCommit
- UInt64
De grootte van de stapel die moet worden doorgevoerd.
- sizeOfHeapReserve
- UInt64
De grootte van de lokale heapruimte die moet worden gereserveerd. Alleen sizeOfHeapCommit wordt vastgelegd; de rest wordt één pagina tegelijk beschikbaar gesteld totdat de reservegrootte is bereikt.
- sizeOfHeapCommit
- UInt64
De grootte van de lokale heapruimte die moet worden doorgevoerd.
Uitzonderingen
fileAlignment is geen macht van 2 tussen 512 en 64.000.
– of –
sectionAlignment geen macht van 2.
– of –
sectionAlignment is kleiner dan fileAlignment.