Files
SabreTools.Models/NewExecutable/ResourceTable.cs

35 lines
1.4 KiB
C#
Raw Normal View History

2023-09-04 00:11:04 -04:00
using System.Collections.Generic;
2023-09-04 00:12:49 -04:00
namespace SabreTools.Models.NewExecutable
2023-09-04 00:11:04 -04:00
{
/// <summary>
/// The resource table follows the segment table and contains entries for
/// each resource in the executable file. The resource table consists of
/// an alignment shift count, followed by a table of resource records. The
/// resource records define the type ID for a set of resources. Each
/// resource record contains a table of resource entries of the defined
/// type. The resource entry defines the resource ID or name ID for the
/// resource. It also defines the location and size of the resource. The
/// following describes the contents of each of these structures:
/// </summary>
/// <see href="http://bytepointer.com/resources/win16_ne_exe_format_win3.0.htm"/>
public sealed class ResourceTable
{
/// <summary>
/// Alignment shift count for resource data.
/// </summary>
2023-09-10 21:24:10 -04:00
public ushort AlignmentShiftCount { get; set; }
2023-09-04 00:11:04 -04:00
/// <summary>
/// A table of resource type information blocks follows.
/// </summary>
2023-09-10 21:24:10 -04:00
public ResourceTypeInformationEntry?[]? ResourceTypes { get; set; }
2023-09-04 00:11:04 -04:00
/// <summary>
/// Resource type and name strings are stored at the end of the
/// resource table.
/// </summary>
2023-09-10 21:24:10 -04:00
public Dictionary<ushort, ResourceTypeAndNameString?>? TypeAndNameStrings { get; set; }
2023-09-04 00:11:04 -04:00
}
}