PEHeaderBuilder Construtor
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Inicializa uma nova instância da 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)
Parâmetros
- machine
- Machine
A arquitetura de CPU do computador de destino.
- sectionAlignment
- Int32
O alinhamento (em bytes) das seções quando elas são carregadas na memória. Deve ser maior ou igual a fileAlignment
. O padrão é o tamanho da página para a arquitetura.
- fileAlignment
- Int32
O fator de alinhamento (em bytes) usado para alinhar os dados brutos das seções no arquivo de imagem. O valor deve ser uma potência de 2 entre 512 e 64K, inclusive. O padrão é 512. Se sectionAlignment
for menor que o tamanho da página da arquitetura, fileAlignment
deverá corresponder a sectionAlignment
.
- imageBase
- UInt64
O endereço preferencial do primeiro byte de imagem quando carregado na memória; deve ser um múltiplo de 64K.
- majorLinkerVersion
- Byte
O número da versão principal do vinculador.
- minorLinkerVersion
- Byte
O número da versão secundária do vinculador.
- majorOperatingSystemVersion
- UInt16
O número de versão principal do sistema operacional necessário.
- minorOperatingSystemVersion
- UInt16
O número de versão secundária do sistema operacional necessário.
- majorImageVersion
- UInt16
O número de versão principal da imagem.
- minorImageVersion
- UInt16
O número de versão secundária da imagem.
- majorSubsystemVersion
- UInt16
O número de versão principal do subsistema.
- minorSubsystemVersion
- UInt16
O número de secundária principal do subsistema.
- subsystem
- Subsystem
O subsistema necessário para executar a imagem.
- dllCharacteristics
- DllCharacteristics
Um objeto que descreve as características da biblioteca de links dinâmicos.
- imageCharacteristics
- Characteristics
Um objeto que descreve as características da imagem.
- sizeOfStackReserve
- UInt64
O tamanho da pilha a ser reservada. Somente sizeOfStackCommit
é confirmado; o restante é disponibilizado uma página por vez até que o tamanho da reserva seja atingido.
- sizeOfStackCommit
- UInt64
O tamanho da pilha a ser confirmada.
- sizeOfHeapReserve
- UInt64
O tamanho do espaço de heap local a ser reservado. Somente sizeOfHeapCommit
é confirmado; o restante é disponibilizado uma página por vez até que o tamanho da reserva seja atingido.
- sizeOfHeapCommit
- UInt64
O tamanho do espaço de heap local a ser confirmado.
Exceções
fileAlignment
não é uma potência de 2 entre 512 e 64K.
- ou -
sectionAlignment
não é uma potência de 2.
- ou -
sectionAlignment
é menor que fileAlignment
.