Partager via


PEHeaderBuilder Constructeur

Définition

Initialise une nouvelle instance de la 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)

Paramètres

machine
Machine

Architecture du processeur de la machine cible.

sectionAlignment
Int32

Alignement (en octets) des sections quand elles sont chargées en mémoire. La valeur doit être supérieure ou égale à fileAlignment. La valeur par défaut correspond à la taille de page de l’architecture.

fileAlignment
Int32

Facteur d’alignement (en octets) utilisé pour aligner les données brutes des sections du fichier image. La valeur doit être une puissance de 2 comprise entre 512 octets et 64 Ko inclus. La valeur par défaut est 512. Si sectionAlignment est inférieur à la taille de page de l’architecture, fileAlignment doit correspondre à sectionAlignment.

imageBase
UInt64

Adresse par défaut du premier octet de l’image quand elle est chargée en mémoire ; doit être un multiple de 64 Ko.

majorLinkerVersion
Byte

Numéro de version principale de l’éditeur de liens.

minorLinkerVersion
Byte

Numéro de version mineure de l’éditeur de liens.

majorOperatingSystemVersion
UInt16

Numéro de version principale du système d’exploitation nécessaire.

minorOperatingSystemVersion
UInt16

Numéro de version mineure du système d’exploitation nécessaire.

majorImageVersion
UInt16

Numéro de version principale de l’image.

minorImageVersion
UInt16

Numéro de version mineure de l’image.

majorSubsystemVersion
UInt16

Numéro de version principale du sous-système.

minorSubsystemVersion
UInt16

Numéro de version mineure du sous-système.

subsystem
Subsystem

Sous-système nécessaire pour exécuter l’image.

dllCharacteristics
DllCharacteristics

Objet décrivant les caractéristiques de la bibliothèque de liens dynamiques.

imageCharacteristics
Characteristics

Objet décrivant les caractéristiques de l’image.

sizeOfStackReserve
UInt64

Taille de la pile à réserver. Seul sizeOfStackCommit est commité. Le reste est mis à disposition, une page à la fois, jusqu’à ce que la taille de réserve soit atteinte.

sizeOfStackCommit
UInt64

Taille de la pile à commiter.

sizeOfHeapReserve
UInt64

Taille de l’espace du tas local à réserver. Seul sizeOfHeapCommit est commité. Le reste est mis à disposition, une page à la fois, jusqu’à ce que la taille de réserve soit atteinte.

sizeOfHeapCommit
UInt64

Taille de l’espace du tas local à commiter.

Exceptions

fileAlignment n’est pas une puissance de 2 comprise entre 512 octets et 64 Ko. - ou -

sectionAlignment n’est pas une puissance de 2.

- ou -

sectionAlignment est inférieur à fileAlignment.

S’applique à