VS_FIXEDFILEINFO

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.

Members

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.

Comments

The Value section of the VS_VERSION_INFO data is a VS_FIXEDFILEINFO structure.

See Also

VS_VERSION_INFO, StringFileInfo