namespace SabreTools.Models.PortableExecutable { /// /// Represents the organization of data in a file-version resource. It contains language /// and code page formatting information for the strings specified by the Children member. /// A code page is an ordered character set. /// /// public sealed class StringTable { /// /// The length, in bytes, of this StringTable structure, including all structures /// indicated by the Children member. /// public ushort Length { get; set; } /// /// This member is always equal to zero. /// public ushort ValueLength { get; set; } /// /// The type of data in the version resource. /// public VersionResourceType ResourceType { get; set; } /// /// An 8-digit hexadecimal number stored as a Unicode string. The four most significant /// digits represent the language identifier. The four least significant digits represent /// the code page for which the data is formatted. Each Microsoft Standard Language /// identifier contains two parts: the low-order 10 bits specify the major language, /// and the high-order 6 bits specify the sublanguage. /// #if NET48 public string Key { get; set; } #else public string? Key { get; set; } #endif /// /// As many zero words as necessary to align the Children member on a 32-bit boundary. /// public ushort Padding { get; set; } /// /// An array of one or more StringData structures. /// #if NET48 public StringData[] Children { get; set; } #else public StringData?[]? Children { get; set; } #endif } }