PEHeaderBuilder Constructor
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
.