// dnlib: See LICENSE.txt for more info using dnlib.IO; namespace dnlib.PE { /// /// Interface for PE optional header classes /// public interface IImageOptionalHeader : IFileSection { /// /// Returns the Magic field /// ushort Magic { get; } /// /// Returns the MajorLinkerVersion field /// byte MajorLinkerVersion { get; } /// /// Returns the MinorLinkerVersion field /// byte MinorLinkerVersion { get; } /// /// Returns the SizeOfCode field /// uint SizeOfCode { get; } /// /// Returns the SizeOfInitializedData field /// uint SizeOfInitializedData { get; } /// /// Returns the SizeOfUninitializedData field /// uint SizeOfUninitializedData { get; } /// /// Returns the AddressOfEntryPoint field /// RVA AddressOfEntryPoint { get; } /// /// Returns the BaseOfCode field /// RVA BaseOfCode { get; } /// /// Returns the BaseOfData field /// RVA BaseOfData { get; } /// /// Returns the ImageBase field /// ulong ImageBase { get; } /// /// Returns the SectionAlignment field /// uint SectionAlignment { get; } /// /// Returns the FileAlignment field /// uint FileAlignment { get; } /// /// Returns the MajorOperatingSystemVersion field /// ushort MajorOperatingSystemVersion { get; } /// /// Returns the MinorOperatingSystemVersion field /// ushort MinorOperatingSystemVersion { get; } /// /// Returns the MajorImageVersion field /// ushort MajorImageVersion { get; } /// /// Returns the MinorImageVersion field /// ushort MinorImageVersion { get; } /// /// Returns the MajorSubsystemVersion field /// ushort MajorSubsystemVersion { get; } /// /// Returns the MinorSubsystemVersion field /// ushort MinorSubsystemVersion { get; } /// /// Returns the Win32VersionValue field /// uint Win32VersionValue { get; } /// /// Returns the SizeOfImage field /// uint SizeOfImage { get; } /// /// Returns the SizeOfHeaders field /// uint SizeOfHeaders { get; } /// /// Returns the CheckSum field /// uint CheckSum { get; } /// /// Returns the Subsystem field /// Subsystem Subsystem { get; } /// /// Returns the DllCharacteristics field /// DllCharacteristics DllCharacteristics { get; } /// /// Returns the SizeOfStackReserve field /// ulong SizeOfStackReserve { get; } /// /// Returns the SizeOfStackCommit field /// ulong SizeOfStackCommit { get; } /// /// Returns the SizeOfHeapReserve field /// ulong SizeOfHeapReserve { get; } /// /// Returns the SizeOfHeapCommit field /// ulong SizeOfHeapCommit { get; } /// /// Returns the LoaderFlags field /// uint LoaderFlags { get; } /// /// Returns the NumberOfRvaAndSizes field /// uint NumberOfRvaAndSizes { get; } /// /// Returns the DataDirectories field. This array contains exactly 16 elements. /// ImageDataDirectory[] DataDirectories { get; } } }