typedef struct tagVS_FIXEDFILEINFO { /* vsffi */
DWORD dwSignature;
DWORD dwStrucVersion;
DWORD dwFileVersionMS;
DWORD dwFileVersionLS;
DWORD dwProductVersionMS;
DWORD dwProductVersionLS;
DWORD dwFileFlagMask;
DWORD dwFileFlags;
DWORD dwFileOS;
DWORD dwFileType;
DWORD dwFileSubtype;
DWORD dwFileDateMS;
DWORD dwFileDateLS;
} VS_FIXEDFILEINFO;
The VS_FIXEDFILEINFO structure contains version information about a file. This information is language and codepage independent.
dwSignature
Contains the value 0xFEEFO4BDH. This is used with the szKey field of VS_VERSION_INFO data when searching a file for the VS_FIXEDFILEINFO data structure.
dwStrucVersion
Specifies the binary version number of this data structure. The high word of this field contains the major version number, and the low word contains the minor version number. This value must be greater than 0x00000029.
dwFileVersionMS
Specifies the most significant 32 bits of the file's binary version number. This field is used with dwFileVersionLS to form a 64-bit value used for numerical comparisons.
dwFileVersionLS
Specifies the least significant 32 bits of the file's binary version number. This field is used with dwFileVersionMS to form a 64-bit value used for numerical comparisons.
dwProductVersionMS
Specifies the most significant 32 bits of the binary version number of the product with which this file was distributed. This field is used with dwProductVersionLS to form a 64-bit value used for numerical comparisons.
dwProductVersionLS
Specifies the least significant 32 bits of the binary version number of the product with which this file was distributed. This field is used with dwProductVersionMS to form a 64-bit value used for numerical comparisons.
dwFileFlagMask
Contains a bitmask that specifies which bits in dwFileFlags are valid. A bit is valid only if it was defined when the file was created.
dwFileFlags
Contains a bitmask that specifies the boolean attributes of the file. This field may have one or more of the following:
Value | Meaning |
VS_FF_DEBUG | Indicates that the file contains debugging information or is compiled with debugging features enabled. |
VS_FF_INFOINFERRED | Indicates that the file's version data structure was created dynamically; therefore, some of the fields in this data structure may be empty or incorrect. This flag should never be set in a file's VS_VERSION_INFO data. |
VS_FF_PATCHED | Indicates that the file has been modified and is not identical to the original shipping file of the same version number. |
VS_FF_PRERELEASE | Indicates that the file is a development version, not a commercially released product. |
VS_FF_PRIVATEBUILD | Indicates that the file was not built using standard release procedures. If this flag is set, the StringFileInfo block should contain a PrivateBuild entry. |
VS_FF_SPECIALBUILD | Indicates that the file was built by the original company using standard release procedures, but is a variation of the normal file of the same version number. If this flag is set, the StringFileInfo block should contain a SpecialBuild entry. |
dwFileOS
Specifies the operating system for which this file was designed. This field may have one of the following values:
Value | Meaning |
VOS_UNKNOWN | Indicates that the operating system for which the file was designed is unknown to Windows. |
VOS_DOS | Indicates that the file was designed for DOS. |
VOS_OS216 | Indicates that the file was designed for 16-bit OS/2. |
VOS_OS232 | Indicates that the file was designed for 32-bit OS/2. |
VOS_NT | Indicates that the file was designed for NT. |
VOS_WINDOWS16 | Indicates that the file was designed for 16-bit Windows. |
VOS_PM16 | Indicates that the file was designed for 16-bit Presentation Manager. |
VOS_PM32 | Indicates that the file was designed for 32-bit Presentation Manager. |
VOS_WINDOWS32 | Indicates that the file was designed for 32-bit Windows. |
An application may combine these values to indicate that the file was designed for one operating system running on another. The following dwFileOS values are examples of this, but not the exhaustive list:
VOS_DOS_WINDOWS16 | Indicates that the file was designed for 16-bit Windows running on DOS. |
VOS_DOS_WINDOWS32 | Indicates that the file was designed for 32-bit Windows running on DOS. |
VOS_OS216_PM16 | Indicates that the file was designed for 16-bit Presentation Manager running on 16-bit OS/2. |
VOS_OS232_PM32 | Indicates that the file was designed for 32-bit Presentation Manager running on 32-bit OS/2. |
VOS_NT_WINDOWS32 | Indicates that the file was designed for 32-bit Windows running on NT. |
dwFileType
Specifies the general type of file. This field may have one of the following values:
Value | Meaning |
VFT_UNKNOWN | Indicates that the file type is unknown to Windows. |
VFT_APP | Indicates that the file contains an application. |
VFT_DLL | Indicates that the file contains a dynamic-link library |
VFT_DRV | Indicates that the file contains a device driver. If dwFileType is VFT_DRV, dwFileSubtype contains a more specific description of the driver. |
VFT_FONT | Indicates that the file contains a font. If dwFileType is VFT_FONT, dwFileSubtype contains a more specific description of the font file. |
VFT_VXD | Indicates that the file contains a virtual device. |
VFT_STATIC_LIB | Indicates that the file contains a static-link library. |
All other values are reserved for future use by Microsoft.
dwFileSubtype
Specifies the function of the file. The possible values depend on the value of dwFileType. For all values of dwFileType not described below, dwFileSubtype is zero.
If dwFileType is VFT_DRV, dwFileSubtype may be one of the following values:
VFT2_UNKNOWN | Indicates that the driver type is unknown by Windows. |
VFT2_DRV_PRINTER | Indicates that the file contains a printer driver. |
VFT2_DRV_KEYBOARD | Indicates that the file contains a keyboard driver. |
VFT2_DRV_LANGUAGE | Indicates that the file contains a language driver. |
VFT2_DRV_DISPLAY | Indicates that the file contains a display driver. |
VFT2_DRV_MOUSE | Indicates that the file contains a mouse driver. |
VFT2_DRV_NETWORK | Indicates that the file contains a network driver. |
VFT2_DRV_SYSTEM | Indicates that the file contains a system driver. |
VFT2_DRV_INSTALLABLE | Indicates that the file contains an installable driver. |
VFT2_DRV_SOUND | Indicates that the file contains a sound driver. |
If dwFileType is VFT_FONT, dwFileSubtype may be one of the following values:
VFT2_UNKNOWN | Indicates that the font type is unknown by Windows. |
VFT2_FONT_RASTER | Indicates that the file contains a raster font. |
VFT2_FONT_VECTOR | Indicates that the file contains a vector font. |
VFT2_FONT_TRUETYPE | Indicates that the file contains a TrueType font. |
If dwFileType is VFT_VXD, dwFileSubtype contains the virtual device ID included in the Virtual Device Control Block.
All dwFileSubtype values not listed here are reserved for future use by Microsoft.
dwFileDateMS
Specifies the most significant 32 bits of the file's 64-bit binary creation date/time stamp.
dwFileDateLS
Specifies the least significant 32 bits of the file's 64-bit binary creation date/time stamp.
The Value section of the VS_VERSION_INFO data is a VS_FIXEDFILEINFO structure.
VS_VERSION_INFO, StringFileInfo