namespace SabreTools.Models.PortableExecutable { /// /// Represents the organization of data in a file-version resource. It typically contains a /// list of language and code page identifier pairs that the version of the application or /// DLL supports. /// /// public sealed class VarData { /// /// The length, in bytes, of the Var structure. /// public ushort Length { get; set; } /// /// The size, in words, of the Value member. /// public ushort ValueLength { get; set; } /// /// The type of data in the version resource. /// public VersionResourceType ResourceType { get; set; } /// /// The Unicode string L"Translation". /// #if NET48 public string Key { get; set; } #else public string? Key { get; set; } #endif /// /// As many zero words as necessary to align the Value member on a 32-bit boundary. /// public ushort Padding { get; set; } /// /// An array of one or more values that are language and code page identifier pairs. /// /// If you use the Var structure to list the languages your application or DLL supports /// instead of using multiple version resources, use the Value member to contain an array /// of DWORD values indicating the language and code page combinations supported by this /// file. The low-order word of each DWORD must contain a Microsoft language identifier, /// and the high-order word must contain the IBM code page number. Either high-order or /// low-order word can be zero, indicating that the file is language or code page /// independent. If the Var structure is omitted, the file will be interpreted as both /// language and code page independent. /// #if NET48 public uint[] Value { get; set; } #else public uint[]? Value { get; set; } #endif } }