VS_FIXEDFILEINFO  CSFOSG 

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_INFODPV_1J 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_INFODPV_1J 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 StringFileInfo13DKKJN 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