' ########################################################################################
' Microsoft Windows
' File: VerRsrc.inc
' Contents: Include file declaring version resources in rc files
' Copyright (c) 2011 Jos? Roca
' Portions Copyright (c) Microsoft Corporation.
' All Rights Reserved.
' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
' EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
' MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
' ########################################################################################
#IF NOT %DEF(PBX_VerRsrc_PBI)
#DEFINE PBX_VerRsrc_PBI
%EQUATE `VERRSRC_INC = 1
'/* ----- Symbols ----- */
%EQUATE `VS_FILE_INFO = 16 ' %RT_VERSION
%EQUATE `VS_VERSION_INFO = 1
%EQUATE `VS_USER_DEFINED = 100
'/* ----- VS_VERSION.dwFileFlags ----- */
%EQUATE `VS_FFI_SIGNATURE = &HFEEF04BD
%EQUATE `VS_FFI_STRUCVERSION = &H00010000
%EQUATE `VS_FFI_FILEFLAGSMASK = &H0000003F
'/* ----- VS_VERSION.dwFileFlags ----- */
%EQUATE `VS_FF_DEBUG = &H00000001
%EQUATE `VS_FF_PRERELEASE = &H00000002
%EQUATE `VS_FF_PATCHED = &H00000004
%EQUATE `VS_FF_PRIVATEBUILD = &H00000008
%EQUATE `VS_FF_INFOINFERRED = &H00000010
%EQUATE `VS_FF_SPECIALBUILD = &H00000020
'/* ----- VS_VERSION.dwFileOS ----- */
%EQUATE `VOS_UNKNOWN = &H00000000
%EQUATE `VOS_DOS = &H00010000
%EQUATE `VOS_OS216 = &H00020000
%EQUATE `VOS_OS232 = &H00030000
%EQUATE `VOS_NT = &H00040000
%EQUATE `VOS_WINCE = &H00050000
%EQUATE `VOS__BASE = &H00000000
%EQUATE `VOS__WINDOWS16 = &H00000001
%EQUATE `VOS__PM16 = &H00000002
%EQUATE `VOS__PM32 = &H00000003
%EQUATE `VOS__WINDOWS32 = &H00000004
%EQUATE `VOS_DOS_WINDOWS16 = &H00010001
%EQUATE `VOS_DOS_WINDOWS32 = &H00010004
%EQUATE `VOS_OS216_PM16 = &H00020002
%EQUATE `VOS_OS232_PM32 = &H00030003
%EQUATE `VOS_NT_WINDOWS32 = &H00040004
'/* ----- VS_VERSION.dwFileType ----- */
%EQUATE `VFT_UNKNOWN = &H00000000
%EQUATE `VFT_APP = &H00000001
%EQUATE `VFT_DLL = &H00000002
%EQUATE `VFT_DRV = &H00000003
%EQUATE `VFT_FONT = &H00000004
%EQUATE `VFT_VXD = &H00000005
%EQUATE `VFT_STATIC_LIB = &H00000007
'/* ----- VS_VERSION.dwFileSubtype for VFT_WINDOWS_DRV ----- */
%EQUATE `VFT2_UNKNOWN = &H00000000
%EQUATE `VFT2_DRV_PRINTER = &H00000001
%EQUATE `VFT2_DRV_KEYBOARD = &H00000002
%EQUATE `VFT2_DRV_LANGUAGE = &H00000003
%EQUATE `VFT2_DRV_DISPLAY = &H00000004
%EQUATE `VFT2_DRV_MOUSE = &H00000005
%EQUATE `VFT2_DRV_NETWORK = &H00000006
%EQUATE `VFT2_DRV_SYSTEM = &H00000007
%EQUATE `VFT2_DRV_INSTALLABLE = &H00000008
%EQUATE `VFT2_DRV_SOUND = &H00000009
%EQUATE `VFT2_DRV_COMM = &H0000000A
%EQUATE `VFT2_DRV_INPUTMETHOD = &H0000000B
%EQUATE `VFT2_DRV_VERSIONED_PRINTER = &H0000000C
'/* ----- VS_VERSION.dwFileSubtype for VFT_WINDOWS_FONT ----- */
%EQUATE `VFT2_FONT_RASTER = &H00000001
%EQUATE `VFT2_FONT_VECTOR = &H00000002
%EQUATE `VFT2_FONT_TRUETYPE = &H00000003
'/* ----- VerFindFile() flags ----- */
%EQUATE `VFFF_ISSHAREDFILE = &H0001
%EQUATE `VFF_CURNEDEST = &H0001
%EQUATE `VFF_FILEINUSE = &H0002
%EQUATE `VFF_BUFFTOOSMALL = &H0004
'/* ----- VerInstallFile() flags ----- */
%EQUATE `VIFF_FORCEINSTALL = &H0001
%EQUATE `VIFF_DONTDELETEOLD = &H0002
%EQUATE `VIF_TEMPFILE = &H00000001
%EQUATE `VIF_MISMATCH = &H00000002
%EQUATE `VIF_SRCOLD = &H00000004
%EQUATE `VIF_DIFFLANG = &H00000008
%EQUATE `VIF_DIFFCODEPG = &H00000010
%EQUATE `VIF_DIFFTYPE = &H00000020
%EQUATE `VIF_WRITEPROT = &H00000040
%EQUATE `VIF_FILEINUSE = &H00000080
%EQUATE `VIF_OUTOFSPACE = &H00000100
%EQUATE `VIF_ACCESSVIOLATION = &H00000200
%EQUATE `VIF_SHARINGVIOLATION = &H00000400
%EQUATE `VIF_CANNOTCREATE = &H00000800
%EQUATE `VIF_CANNOTDELETE = &H00001000
%EQUATE `VIF_CANNOTRENAME = &H00002000
%EQUATE `VIF_CANNOTDELETECUR = &H00004000
%EQUATE `VIF_OUTOFMEMORY = &H00008000
%EQUATE `VIF_CANNOTREADSRC = &H00010000
%EQUATE `VIF_CANNOTREADDST = &H00020000
%EQUATE `VIF_BUFFTOOSMALL = &H00040000
%EQUATE `VIF_CANNOTLOADLZ32 = &H00080000
%EQUATE `VIF_CANNOTLOADCABINET = &H00100000
'#ifndef RC_INVOKED /* RC doesn't need to see the rest of this */
'/*
' FILE_VER_GET_... flags are for use by
' GetFileVersionInfoSizeEx
' GetFileVersionInfoExW
'*/
%EQUATE `FILE_VER_GET_LOCALISED = &H01
%EQUATE `FILE_VER_GET_NEUTRAL = &H02
%EQUATE `FILE_VER_GET_PREFETCHED = &H04
'/* ----- Types and structures ----- */
' // Size = 52 bytes
TYPE VS_FIXEDFILEINFO DWORD
 dwSignature AS DWORD
 dwStrucVersion AS DWORD ' e.g. &H00000042 = "0.42"
 dwFileVersionMS AS DWORD ' e.g. &H00030075 = "3.75"
 dwFileVersionLS AS DWORD ' e.g. &H00000031 = "0.31"
 dwProductVersionMS AS DWORD ' e.g. &H00030010 = "3.10"
 dwProductVersionLS AS DWORD ' e.g. &H00000031 = "0.31"
 dwFileFlagsMask AS DWORD ' = &H3F for version "0.42"
 dwFileFlags AS DWORD ' e.g. VFF_DEBUG OR %VFF_PRERELEASE
 dwFileOS AS DWORD ' e.g. VOS_DOS_WINDOWS16
 dwFileType AS DWORD ' e.g. VFT_DRIVER
 dwFileSubtype AS DWORD ' e.g. VFT2_DRV_KEYBOARD
 dwFileDateMS AS DWORD ' e.g. 0
 dwFileDateLS AS DWORD ' e.g. 0
END TYPE
'#endif /* !RC_INVOKED */
#ENDIF
