namespace SabreTools.Models.PortableExecutable
{
///
/// Represents the organization of data in a file-version resource. It contains version
/// information that can be displayed for a particular language and code page.
///
///
public sealed class StringFileInfo
{
///
/// The length, in bytes, of the entire StringFileInfo block, 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; }
///
/// The Unicode string L"StringFileInfo".
///
#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 StringTable structures. Each StringTable structure's Key
/// member indicates the appropriate language and code page for displaying the text in
/// that StringTable structure.
///
#if NET48
public StringTable[] Children { get; set; }
#else
public StringTable?[]? Children { get; set; }
#endif
}
}