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
.