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

目标计算机的 CPU 体系结构。

sectionAlignment
Int32

各部分加载到内存中时的对齐值(以字节为单位)。 它必须大于或等于 fileAlignment。 默认值为体系结构的页面大小。

fileAlignment
Int32

用于使映像文件中各部分的原始数据一致的对齐系数(以字节为单位)。 该值应为 2(含 512 到 64K)之间的幂。 默认值为 512。 如果小于 sectionAlignment 体系结构的页面大小,则必须 fileAlignment 匹配 sectionAlignment

imageBase
UInt64

加载到内存中的第一个图像字节的首选地址;必须是 64K 的倍数。

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 在 512 到 64K 之间不是 2 的幂。 -或-

sectionAlignment 不是 2 的幂。

-或-

sectionAlignment 小于 fileAlignment

适用于