Condividi tramite


PEHeaderBuilder Costruttore

Definizione

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.

Si applica a