Поделиться через


PEHeaderBuilder Конструктор

Определение

Инициализирует новый экземпляр класса 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)

Параметры

machine
Machine

Архитектура ЦП целевого компьютера.

sectionAlignment
Int32

Выравнивание разделов (в байтах) при загрузке в память. Должно быть больше или равно fileAlignment. Значением по умолчанию является размер страницы для архитектуры.

fileAlignment
Int32

Коэффициент выравнивания (в байтах), используемый для выравнивания необработанных данных разделов в файле образа. Значение должно быть степенью числа 2 в диапазоне от 512 до 64 000 включительно. Значение по умолчанию — 512. Если значение sectionAlignment меньше размера страницы для архитектуры, то значение fileAlignment должно совпадать с sectionAlignment.

imageBase
UInt64

Предпочтительный адрес первого байта образа при загрузке в память; значение должно быть кратно 64 000.

majorLinkerVersion
Byte

Основной номер версии компоновщика.

minorLinkerVersion
Byte

Дополнительный номер версии компоновщика.

majorOperatingSystemVersion
UInt16

Основной номер версии требуемой операционной системы.

minorOperatingSystemVersion
UInt16

Дополнительный номер версии требуемой операционной системы.

majorImageVersion
UInt16

Основной номер версии образа.

minorImageVersion
UInt16

Дополнительный номер версии образа.

majorSubsystemVersion
UInt16

Основной номер версии подсистемы.

minorSubsystemVersion
UInt16

Дополнительный номер версии подсистемы.

subsystem
Subsystem

Подсистема, необходимая для выполнения образа.

dllCharacteristics
DllCharacteristics

Объект, описывающий характеристики библиотеки динамической компоновки.

imageCharacteristics
Characteristics

Объект, описывающий характеристики образа.

sizeOfStackReserve
UInt64

Размер резервируемого стека. Фиксируется только sizeOfStackCommit. Остальная часть предоставляется по одной странице, пока не будет достигнут зарезервированный размер.

sizeOfStackCommit
UInt64

Размер фиксируемого стека.

sizeOfHeapReserve
UInt64

Размер резервируемого пространства в локальной куче. Фиксируется только sizeOfHeapCommit. Остальная часть предоставляется по одной странице, пока не будет достигнут зарезервированный размер.

sizeOfHeapCommit
UInt64

Размер фиксируемого пространства в локальной куче.

Исключения

Значение fileAlignment не является степенью числа 2 в диапазоне от 512 до 64 000. -или-

Значение sectionAlignment не является степенью числа 2.

-или-

Значение sectionAlignment меньше fileAlignment.

Применяется к