PEHeaderBuilder Constructeur
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
.