2025-09-26 13:06:18 -04:00
|
|
|
|
namespace SabreTools.Data.Models.PortableExecutable.Resource.Entries
|
2025-09-26 12:09:34 -04:00
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 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.
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <see href="https://learn.microsoft.com/en-us/windows/win32/menurc/stringfileinfo"/>
|
|
|
|
|
|
public sealed class StringFileInfo
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// The length, in bytes, of the entire StringFileInfo block, including all
|
|
|
|
|
|
/// structures indicated by the Children member.
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public ushort Length { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// This member is always equal to zero.
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public ushort ValueLength { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// The type of data in the version resource.
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public VersionResourceType ResourceType { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// The Unicode string L"StringFileInfo".
|
|
|
|
|
|
/// </summary>
|
2025-10-31 13:59:28 -04:00
|
|
|
|
public string Key { get; set; } = string.Empty;
|
2025-09-26 12:09:34 -04:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// As many zero words as necessary to align the Children member on a 32-bit boundary.
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public ushort Padding { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 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.
|
|
|
|
|
|
/// </summary>
|
2025-10-31 13:59:28 -04:00
|
|
|
|
public StringTable[] Children { get; set; } = [];
|
2025-09-26 12:09:34 -04:00
|
|
|
|
}
|
|
|
|
|
|
}
|