using System.Runtime.InteropServices;
namespace BurnOutSharp.Models.PortableExecutable
{
///
/// Contains version information for a file. This information is language and
/// code page independent.
///
///
[StructLayout(LayoutKind.Sequential)]
public class FixedFileInfo
{
///
/// Contains the value 0xFEEF04BD. This is used with the szKey member of the VS_VERSIONINFO
/// structure when searching a file for the FixedFileInfo structure.
///
public uint Signature;
///
/// The binary version number of this structure. The high-order word of this member contains
/// the major version number, and the low-order word contains the minor version number.
///
public uint StrucVersion;
///
/// The most significant 32 bits of the file's binary version number. This member is used with
/// FileVersionLS to form a 64-bit value used for numeric comparisons.
///
public uint FileVersionMS;
///
/// The least significant 32 bits of the file's binary version number. This member is used with
/// FileVersionMS to form a 64-bit value used for numeric comparisons.
///
public uint FileVersionLS;
///
/// The most significant 32 bits of the binary version number of the product with which this file
/// was distributed. This member is used with ProductVersionLS to form a 64-bit value used for
/// numeric comparisons.
///
public uint ProductVersionMS;
///
/// The least significant 32 bits of the binary version number of the product with which this file
/// was distributed. This member is used with ProductVersionMS to form a 64-bit value used for
/// numeric comparisons.
///
public uint ProductVersionLS;
///
/// Contains a bitmask that specifies the valid bits in FileFlags. A bit is valid only if it was
/// defined when the file was created.
///
public uint FileFlagsMask;
///
/// Contains a bitmask that specifies the Boolean attributes of the file.
///
public FixedFileInfoFlags FileFlags;
///
/// The operating system for which this file was designed.
///
public FixedFileInfoOS FileOS;
///
/// The general type of file.
///
public FixedFileInfoFileType FileType;
///
/// The function of the file. The possible values depend on the value of FileType. For all values
/// of FileType not described in the following list, FileSubtype is zero.
///
public FixedFileInfoFileSubtype FileSubtype;
///
/// The most significant 32 bits of the file's 64-bit binary creation date and time stamp.
///
public uint FileDateMS;
///
/// The least significant 32 bits of the file's 64-bit binary creation date and time stamp.
///
public uint FileDateLS;
}
}