namespace SabreTools.Models.PortableExecutable { /// /// Represents the organization of data in a file-version resource. It is the root /// structure that contains all other file-version information structures. /// /// public sealed class VersionInfo { /// /// The length, in bytes, of the VS_VERSIONINFO structure. This length does not /// include any padding that aligns any subsequent version resource data on a /// 32-bit boundary. /// public ushort Length { get; set; } /// /// The length, in bytes, of the Value member. This value is zero if there is no /// Value member associated with the current version structure. /// public ushort ValueLength { get; set; } /// /// The type of data in the version resource. This member is 1 if the version resource /// contains text data and 0 if the version resource contains binary data. /// public VersionResourceType ResourceType { get; set; } /// /// The Unicode string L"VS_VERSION_INFO". /// public string? Key { get; set; } /// /// Contains as many zero words as necessary to align the Value member on a 32-bit boundary. /// public ushort Padding1 { get; set; } /// /// Arbitrary data associated with this VS_VERSIONINFO structure. The ValueLength member /// specifies the length of this member; if ValueLength is zero, this member does not exist. /// public FixedFileInfo? Value { get; set; } /// /// As many zero words as necessary to align the Children member on a 32-bit boundary. /// These bytes are not included in wValueLength. This member is optional. /// public ushort Padding2 { get; set; } /// /// The StringFileInfo structure to store user-defined string information data. /// public StringFileInfo? StringFileInfo { get; set; } /// /// The VarFileInfo structure to store language information data. /// public VarFileInfo? VarFileInfo { get; set; } } }