VS_FIXEDFILEINFO

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.

See Also

StringFileInfo, VS_VERSION_INFO