PEHeaderBuilder Oluşturucu
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 fileAlignment
eş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 sectionAlignment
gerekir.
- 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
.