Compartir vía


PEHeaderBuilder Constructor

Definición

Inicializa una nueva instancia de la clase 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)

Parámetros

machine
Machine

La arquitectura de CPU del equipo de destino.

sectionAlignment
Int32

La alineación (en bytes) de las secciones cuando se cargan en la memoria. Debe ser mayor o igual que fileAlignment. El valor predeterminado es el tamaño de página de la arquitectura.

fileAlignment
Int32

El factor de alineación (en bytes) que se usa para alinear los datos sin procesar de las secciones del archivo de imagen. El valor debe ser una potencia de 2 entre 512 y 64K, inclusive. El valor predeterminado es 512. Si sectionAlignment es menor que el tamaño de página de la arquitectura, fileAlignment debe coincidir con sectionAlignment.

imageBase
UInt64

La dirección preferida del primer byte de la imagen cuando se carga en la memoria; debe ser un múltiplo de 64K.

majorLinkerVersion
Byte

El número de versión principal del enlazador.

minorLinkerVersion
Byte

El número de versión secundaria del enlazador.

majorOperatingSystemVersion
UInt16

El número de versión principal del sistema operativo obligatorio.

minorOperatingSystemVersion
UInt16

El número de versión secundaria del sistema operativo obligatorio.

majorImageVersion
UInt16

El número de versión principal de la imagen.

minorImageVersion
UInt16

El número de versión secundaria de la imagen.

majorSubsystemVersion
UInt16

El número de versión principal del subsistema.

minorSubsystemVersion
UInt16

El número de versión secundaria del subsistema.

subsystem
Subsystem

El subsistema necesario para ejecutar la imagen.

dllCharacteristics
DllCharacteristics

Un objeto que describe las características de la biblioteca de vínculos dinámicos.

imageCharacteristics
Characteristics

Un objeto que describe las características de la imagen.

sizeOfStackReserve
UInt64

El tamaño de la pila que se va a reservar. Solo se confirma sizeOfStackCommit; el resto se pone a disposición una página a la vez hasta que se alcanza el tamaño de reserva.

sizeOfStackCommit
UInt64

El tamaño de la pila que se va a confirmar.

sizeOfHeapReserve
UInt64

El tamaño del espacio de montón local que se va a reservar. Solo se confirma sizeOfHeapCommit; el resto se pone a disposición una página a la vez hasta que se alcanza el tamaño de reserva.

sizeOfHeapCommit
UInt64

El tamaño del espacio de montón local que se va a confirmar.

Excepciones

fileAlignment no es una potencia de 2 comprendida entre 512 y 64K. o bien

sectionAlignment no es una potencia de 2.

o bien

sectionAlignment es menor que fileAlignment.

Se aplica a