Aracılığıyla paylaş


PEHeaderBuilder Oluşturucu

Tanım

PEHeader sınıfının yeni bir örneğini başlatır.

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)

Parametreler

machine
Machine

Hedef makinenin CPU mimarisi.

sectionAlignment
Int32

Belleğe yüklendiklerinde bölümlerin hizalaması (bayt cinsinden). değerinden büyük veya buna fileAlignmenteşit olmalıdır. Varsayılan, mimarinin sayfa boyutudur.

fileAlignment
Int32

Görüntü dosyasındaki bölümlerin ham verilerini hizalamak için kullanılan hizalama faktörü (bayt cinsinden). Değer, 512 ile 64K (dahil) arasında 2'nin gücü olmalıdır. Varsayılan değer 512'dir. sectionAlignment, mimarinin sayfa boyutundan küçükse ile fileAlignment eşleşmesi sectionAlignmentgerekir.

imageBase
UInt64

Belleğe yüklendiğinde görüntünün ilk baytının tercih edilen adresi; 64K'nın katı olmalıdır.

majorLinkerVersion
Byte

Bağlayıcı ana sürüm numarası.

minorLinkerVersion
Byte

Bağlayıcı ikincil sürüm numarası.

majorOperatingSystemVersion
UInt16

Gerekli işletim sisteminin ana sürüm numarası.

minorOperatingSystemVersion
UInt16

Gerekli işletim sisteminin ikincil sürüm numarası.

majorImageVersion
UInt16

Görüntünün ana sürüm numarası.

minorImageVersion
UInt16

Görüntünün ikincil sürüm numarası.

majorSubsystemVersion
UInt16

Alt sistemin ana sürüm numarası.

minorSubsystemVersion
UInt16

Alt sistemin ikincil sürüm numarası.

subsystem
Subsystem

Görüntüyü çalıştırmak için gereken alt sistem.

dllCharacteristics
DllCharacteristics

Dinamik bağlantı kitaplığının özelliklerini açıklayan bir nesne.

imageCharacteristics
Characteristics

Görüntünün özelliklerini açıklayan bir nesne.

sizeOfStackReserve
UInt64

Ayıracak yığının boyutu. Yalnızca sizeOfStackCommit kabul edilir; geri kalanı, yedek boyutuna ulaşılana kadar bir kerede bir sayfa kullanılabilir hale getirilir.

sizeOfStackCommit
UInt64

İşlenmek üzere yığının boyutu.

sizeOfHeapReserve
UInt64

Rezerve etmek için yerel yığın alanının boyutu. Yalnızca sizeOfHeapCommit kabul edilir; geri kalanı, yedek boyutuna ulaşılana kadar bir kerede bir sayfa kullanılabilir hale getirilir.

sizeOfHeapCommit
UInt64

İşleme için yerel yığın alanının boyutu.

Özel durumlar

fileAlignment 512 ile 64K arasında 2'nin gücü değildir. -veya-

sectionAlignment 2'nin gücü değildir.

-veya-

sectionAlignment değerinden küçüktür fileAlignment.

Şunlara uygulanır