mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-04-15 18:53:03 +00:00
This change looks dramatic, but it's just separating out the already-split namespaces into separate top-level folders. In theory, every single one could be built into their own Nuget package. `SabreTools.Serialization` still builds the normal Nuget package that is used by all other projects and includes all namespaces.
62 lines
2.5 KiB
C#
62 lines
2.5 KiB
C#
namespace SabreTools.Data.Models.PortableExecutable.Resource.Entries
|
|
{
|
|
/// <summary>
|
|
/// Represents the organization of data in a file-version resource. It is the root
|
|
/// structure that contains all other file-version information structures.
|
|
/// </summary>
|
|
/// <see href="https://learn.microsoft.com/en-us/windows/win32/menurc/vs-versioninfo"/>
|
|
public sealed class VersionInfo : ResourceDataType
|
|
{
|
|
/// <summary>
|
|
/// 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.
|
|
/// </summary>
|
|
public ushort Length { get; set; }
|
|
|
|
/// <summary>
|
|
/// The length, in bytes, of the Value member. This value is zero if there is no
|
|
/// Value member associated with the current version structure.
|
|
/// </summary>
|
|
public ushort ValueLength { get; set; }
|
|
|
|
/// <summary>
|
|
/// 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.
|
|
/// </summary>
|
|
public VersionResourceType ResourceType { get; set; }
|
|
|
|
/// <summary>
|
|
/// The Unicode string L"VS_VERSION_INFO".
|
|
/// </summary>
|
|
public string Key { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// Contains as many zero words as necessary to align the Value member on a 32-bit boundary.
|
|
/// </summary>
|
|
public ushort Padding1 { get; set; }
|
|
|
|
/// <summary>
|
|
/// 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.
|
|
/// </summary>
|
|
public FixedFileInfo? Value { get; set; }
|
|
|
|
/// <summary>
|
|
/// 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.
|
|
/// </summary>
|
|
public ushort Padding2 { get; set; }
|
|
|
|
/// <summary>
|
|
/// The StringFileInfo structure to store user-defined string information data.
|
|
/// </summary>
|
|
public StringFileInfo? StringFileInfo { get; set; }
|
|
|
|
/// <summary>
|
|
/// The VarFileInfo structure to store language information data.
|
|
/// </summary>
|
|
public VarFileInfo? VarFileInfo { get; set; }
|
|
}
|
|
}
|