System.Reflection.PortableExecutable.PEHeaderBuilder
namespace System.Reflection.PortableExecutable
{
internal sealed class PEHeaderBuilder
{
public Machine Machine { get; }
public Characteristics ImageCharacteristics { get; }
public byte MajorLinkerVersion { get; }
public byte MinorLinkerVersion { get; }
public ulong ImageBase { get; }
public int SectionAlignment { get; }
public int FileAlignment { get; }
public ushort MajorOperatingSystemVersion { get; }
public ushort MinorOperatingSystemVersion { get; }
public ushort MajorImageVersion { get; }
public ushort MinorImageVersion { get; }
public ushort MajorSubsystemVersion { get; }
public ushort MinorSubsystemVersion { get; }
public Subsystem Subsystem { get; }
public DllCharacteristics DllCharacteristics { get; }
public ulong SizeOfStackReserve { get; }
public ulong SizeOfStackCommit { get; }
public ulong SizeOfHeapReserve { get; }
public ulong SizeOfHeapCommit { get; }
public PEHeaderBuilder(Machine machine = 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, Subsystem subsystem = Subsystem.WindowsCui, DllCharacteristics dllCharacteristics = DllCharacteristics.DynamicBase | DllCharacteristics.NxCompatible | DllCharacteristics.NoSeh | DllCharacteristics.TerminalServerAware, Characteristics imageCharacteristics = Characteristics.Dll, ulong sizeOfStackReserve = 1048576, ulong sizeOfStackCommit = 4096, ulong sizeOfHeapReserve = 1048576, ulong sizeOfHeapCommit = 4096);
public static PEHeaderBuilder CreateExecutableHeader();
public static PEHeaderBuilder CreateLibraryHeader();
}
}