namespace SabreTools.Models.PortableExecutable { /// /// The export symbol information begins with the export directory table, /// which describes the remainder of the export symbol information. The /// export directory table contains address information that is used to resolve /// imports to the entry points within this image. /// /// public sealed class ExportDirectoryTable { /// /// Reserved, must be 0. /// public uint ExportFlags { get; set; } /// /// The time and date that the export data was created. /// public uint TimeDateStamp { get; set; } /// /// The major version number. The major and minor version numbers can be set /// by the user. /// public ushort MajorVersion { get; set; } /// /// The minor version number. /// public ushort MinorVersion { get; set; } /// /// The address of the ASCII string that contains the name of the DLL. This /// address is relative to the image base. /// public uint NameRVA { get; set; } /// /// ASCII string that contains the name of the DLL. /// #if NET48 public string Name { get; set; } #else public string? Name { get; set; } #endif /// /// The starting ordinal number for exports in this image. This field specifies /// the starting ordinal number for the export address table. It is usually set /// to 1. /// public uint OrdinalBase { get; set; } /// /// The number of entries in the export address table. /// public uint AddressTableEntries { get; set; } /// /// The number of entries in the name pointer table. This is also the number of /// entries in the ordinal table. /// public uint NumberOfNamePointers { get; set; } /// /// The address of the export address table, relative to the image base. /// public uint ExportAddressTableRVA { get; set; } /// /// The address of the export name pointer table, relative to the image base. /// The table size is given by the Number of Name Pointers field. /// public uint NamePointerRVA { get; set; } /// /// The address of the ordinal table, relative to the image base. /// public uint OrdinalTableRVA { get; set; } } }