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;
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_VERSIONINFO 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. |
Flag | Description |
---|---|
VOS_DOS | The file was designed for MS-DOS. |
VOS_NT | The file was designed for Windows NT. |
VOS__WINDOWS16 | The file was designed for 16-bit Windows. |
VOS__WINDOWS32 | The file was designed for the Win32 API. |
VOS_OS216 | The file was designed for 16-bit OS/2. |
VOS_OS232 | The file was designed for 32-bit OS/2. |
VOS__PM16 | The file was designed for 16-bit Presentation Manager. |
VOS__PM32 | The file was designed for 32-bit Presentation Manager. |
VOS_UNKNOWN | The operating system for which the file was designed is unknown to the system. |
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_WINDOWS16 | The file was designed for 16-bit Windows running on MS-DOS. |
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. |
VOS_OS216_PM16 | The file was designed for 16-bit Presentation Manager running on 16-bit OS/2. |
VOS_OS232_PM32 | The file was designed for 32-bit Presentation Manager running on 32-bit OS/2. |
Flag | Description |
---|---|
VFT_UNKNOWN | The file type is unknown to the system. |
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.
If dwFileType is VFT_DRV, dwFileSubtype can be one of the following values:
Flag | Description |
---|---|
VFT2_UNKNOWN | The driver type is unknown by the system. |
VFT2_DRV_COMM | The file contains a communications driver. |
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 the system. |
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.
The Value member of the VS_VERSIONINFO structure is a VS_FIXEDFILEINFO structure.
Windows NT: Requires version 3.1 or later.
Windows: Requires Windows 95 or later.
Windows CE: Unsupported.
Header: Declared in winver.h.
File Installation Library Overview, File Installation Library Structures, StringFileInfo, String, VS_VERSIONINFO