PEHeaderBuilder 建構函式
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
初始化 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
對齊因素 (以位元組為單位),用來對齊映像檔中的區段原始資料。 此值應為介於 512 和 64K (含) 之間 2 的乘冪。 預設值為 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
。