PEHeaderBuilder Costruttore
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Inizializza una nuova istanza della classe 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)
Parametri
- machine
- Machine
Architettura della CPU del computer di destinazione.
- sectionAlignment
- Int32
Allineamento (in byte) delle sezioni quando vengono caricate in memoria. Deve essere maggiore o uguale a fileAlignment
. Il valore predefinito è la dimensione della pagina per l'architettura.
- fileAlignment
- Int32
Fattore di allineamento (in byte) usato per allineare i dati non elaborati delle sezioni nel file di immagine. Il valore deve essere una potenza di 2 compresa tra 512 e 64K (inclusi). Il valore predefinito è 512. Se sectionAlignment
è inferiore alle dimensioni della pagina dell'architettura, fileAlignment
deve corrispondere a sectionAlignment
.
- imageBase
- UInt64
Indirizzo preferito del primo byte dell'immagine quando viene caricata in memoria; deve essere un multiplo di 64K.
- majorLinkerVersion
- Byte
Numero di versione principale del linker.
- minorLinkerVersion
- Byte
Numero di versione secondaria del linker.
- majorOperatingSystemVersion
- UInt16
Numero di versione principale del sistema operativo richiesto.
- minorOperatingSystemVersion
- UInt16
Numero di versione secondaria del sistema operativo richiesto.
- majorImageVersion
- UInt16
Numero di versione principale dell'immagine.
- minorImageVersion
- UInt16
Numero di versione secondaria dell'immagine.
- majorSubsystemVersion
- UInt16
Numero di versione principale del sottosistema.
- minorSubsystemVersion
- UInt16
Numero di versione secondaria del sottosistema.
- subsystem
- Subsystem
Sottosistema necessario per eseguire l'immagine.
- dllCharacteristics
- DllCharacteristics
Oggetto che descrive le caratteristiche della libreria di collegamento dinamico.
- imageCharacteristics
- Characteristics
Oggetto che descrive le caratteristiche dell'immagine.
- sizeOfStackReserve
- UInt64
Dimensioni dello stack da riservare. Viene eseguito il commit solo di sizeOfStackCommit
; il resto viene reso disponibile una pagina alla volta fino a quando non vengono raggiunte le dimensioni riservate.
- sizeOfStackCommit
- UInt64
Dimensioni dello stack di cui eseguire il commit.
- sizeOfHeapReserve
- UInt64
Dimensioni dello spazio dell'heap locale da riservare. Viene eseguito il commit solo di sizeOfHeapCommit
; il resto viene reso disponibile una pagina alla volta fino a quando non vengono raggiunte le dimensioni riservate.
- sizeOfHeapCommit
- UInt64
Dimensioni dello spazio dell'heap locale di cui eseguire il commit.
Eccezioni
fileAlignment
non è una potenza di 2 compresa tra 512 e 64K.
-oppure-
sectionAlignment
non è una potenza di 2.
-oppure-
sectionAlignment
è minore di fileAlignment
.