using System.Runtime.InteropServices; namespace BinaryObjectScanner.Models.PortableExecutable { /// /// Contains version information for a file. This information is language and /// code page independent. /// /// [StructLayout(LayoutKind.Sequential)] public sealed 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; } }