The VS_FIXEDFILEINFO structure contains version information about a file. This information is language and code-page independent.
typedef struct _VS_FIXEDFILEINFO { // vsffi
DWORD dwSignature;
DWORD dwStrucVersion;
DWORD dwFileVersionMS;
DWORD dwFileVersionLS;
DWORD dwProductVersionMS;
DWORD dwProductVersionLS;
DWORD dwFileFlagsMask;
DWORD dwFileFlags;
DWORD dwFileOS;
DWORD dwFileType;
DWORD dwFileSubtype;
DWORD dwFileDateMS;
DWORD dwFileDateLS;
} VS_FIXEDFILEINFO;
Members
dwSignature
Contains the value 0xFEEFO4BD. This is used with the szKey member of VS_VERSION_INFO data when searching a file for the VS_FIXEDFILEINFO structure.
dwStrucVersion
Specifies 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.
dwFileVersionMS
Specifies the most significant 32 bits of the file's binary version number. This member is used with dwFileVersionLS to form a 64-bit value used for numeric comparisons.
dwFileVersionLS
Specifies the least significant 32 bits of the file's binary version number. This member is used with dwFileVersionMS to form a 64-bit value used for numeric comparisons.
dwProductVersionMS
Specifies the most significant 32 bits of the binary version number of the product with which this file was distributed. This member is used with dwProductVersionLS to form a 64-bit value used for numeric comparisons.
dwProductVersionLS
Specifies the least significant 32 bits of the binary version number of the product with which this file was distributed. This member is used with dwProductVersionMS to form a 64-bit value used for numeric comparisons.
dwFileFlagsMask
Contains a bitmask that specifies the valid bits in dwFileFlags. 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 member can include one or more of the following values:
Flag | Description |
VS_FF_DEBUG | The file contains debugging information or is compiled with debugging features enabled. |
VS_FF_INFOINFERRED | The file's version structure was created dynamically; therefore, some of the members in this structure may be empty or incorrect. This flag should never be set in a file's VS_VERSION_INFO data. |
VS_FF_PATCHED | The file has been modified and is not identical to the original shipping file of the same version number. |
VS_FF_PRERELEASE | The file is a development version, not a commercially released product. |
VS_FF_PRIVATEBUILD | The file was not built using standard release procedures. If this flag is set, the StringFileInfo structure should contain a PrivateBuild entry. |
VS_FF_SPECIALBUILD | 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 structure should contain a SpecialBuild entry. |
dwFileOS
Specifies the operating system for which this file was designed. This member can be one of the following values:
Flag | Description |
VOS_UNKNOWN | The operating system for which the file was designed is unknown to Windows. |
VOS_NT | The file was designed for Windows NT. |
VOS_WINDOWS32 | The file was designed for the Win32 API. |
An application can 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 are not a complete list:
Flag | Description |
VOS_DOS_WINDOWS32 | The file was designed for the Win32 API running on MS-DOS. |
VOS_NT_WINDOWS32 | The file was designed for the Win32 API running on Windows NT. |
dwFileType
Specifies the general type of file. This member can be one of the following values:
Flag | Description |
VFT_UNKNOWN | The file type is unknown to Windows. |
VFT_APP | The file contains an application. |
VFT_DLL | The file contains a dynamic-link library (DLL). |
VFT_DRV | The file contains a device driver. If dwFileType is VFT_DRV, dwFileSubtype contains a more specific description of the driver. |
VFT_FONT | The file contains a font. If dwFileType is VFT_FONT, dwFileSubtype contains a more specific description of the font file. |
VFT_VXD | The file contains a virtual device. |
VFT_STATIC_LIB | 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 in the following list, dwFileSubtype is zero.
If dwFileType is VFT_DRV, dwFileSubtype can be one of the following values:
Flag | Description |
VFT2_UNKNOWN | The driver type is unknown by Windows. |
VFT2_DRV_PRINTER | The file contains a printer driver. |
VFT2_DRV_KEYBOARD | The file contains a keyboard driver. |
VFT2_DRV_LANGUAGE | The file contains a language driver. |
VFT2_DRV_DISPLAY | The file contains a display driver. |
VFT2_DRV_MOUSE | The file contains a mouse driver. |
VFT2_DRV_NETWORK | The file contains a network driver. |
VFT2_DRV_SYSTEM | The file contains a system driver. |
VFT2_DRV_INSTALLABLE | The file contains an installable driver. |
VFT2_DRV_SOUND | The file contains a sound driver. |
If dwFileType is VFT_FONT, dwFileSubtype can be one of the following values:
Flag | Description |
VFT2_UNKNOWN | The font type is unknown by Windows. |
VFT2_FONT_RASTER | The file contains a raster font. |
VFT2_FONT_VECTOR | The file contains a vector font. |
VFT2_FONT_TRUETYPE | The file contains a TrueType font. |
If dwFileType is VFT_VXD, dwFileSubtype contains the virtual device identifier 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 and time stamp.
dwFileDateLS
Specifies the least significant 32 bits of the file's 64-bit binary creation date and time stamp.
Remarks
The Value member of the VS_VERSION_INFO data is a VS_FIXEDFILEINFO structure.