4 #pragma GCC system_header
10 #define VS_FILE_INFO RT_VERSION
11 #define VS_VERSION_INFO 1
12 #define VS_USER_DEFINED 100
13 #define VS_FFI_SIGNATURE 0xFEEF04BD
14 #define VS_FFI_STRUCVERSION 0x10000
15 #define VS_FFI_FILEFLAGSMASK 0x3F
17 #define VS_FF_PRERELEASE 2
18 #define VS_FF_PATCHED 4
19 #define VS_FF_PRIVATEBUILD 8
20 #define VS_FF_INFOINFERRED 16
21 #define VS_FF_SPECIALBUILD 32
23 #define VOS_DOS 0x10000
24 #define VOS_OS216 0x20000
25 #define VOS_OS232 0x30000
26 #define VOS_NT 0x40000
28 #define VOS__WINDOWS16 1
31 #define VOS__WINDOWS32 4
32 #define VOS_DOS_WINDOWS16 0x10001
33 #define VOS_DOS_WINDOWS32 0x10004
34 #define VOS_OS216_PM16 0x20002
35 #define VOS_OS232_PM32 0x30003
36 #define VOS_NT_WINDOWS32 0x40004
43 #define VFT_STATIC_LIB 7
44 #define VFT2_UNKNOWN 0
45 #define VFT2_DRV_PRINTER 1
46 #define VFT2_DRV_KEYBOARD 2
47 #define VFT2_DRV_LANGUAGE 3
48 #define VFT2_DRV_DISPLAY 4
49 #define VFT2_DRV_MOUSE 5
50 #define VFT2_DRV_NETWORK 6
51 #define VFT2_DRV_SYSTEM 7
52 #define VFT2_DRV_INSTALLABLE 8
53 #define VFT2_DRV_SOUND 9
54 #define VFT2_DRV_COMM 10
55 #define VFT2_DRV_INPUTMETHOD 11
56 #define VFT2_FONT_RASTER 1
57 #define VFT2_FONT_VECTOR 2
58 #define VFT2_FONT_TRUETYPE 3
59 #define VFFF_ISSHAREDFILE 1
60 #define VFF_CURNEDEST 1
61 #define VFF_FILEINUSE 2
62 #define VFF_BUFFTOOSMALL 4
63 #define VIFF_FORCEINSTALL 1
64 #define VIFF_DONTDELETEOLD 2
65 #define VIF_TEMPFILE 1
66 #define VIF_MISMATCH 2
68 #define VIF_DIFFLANG 8
69 #define VIF_DIFFCODEPG 16
70 #define VIF_DIFFTYPE 32
71 #define VIF_WRITEPROT 64
72 #define VIF_FILEINUSE 128
73 #define VIF_OUTOFSPACE 256
74 #define VIF_ACCESSVIOLATION 512
75 #define VIF_SHARINGVIOLATION 1024
76 #define VIF_CANNOTCREATE 2048
77 #define VIF_CANNOTDELETE 4096
78 #define VIF_CANNOTRENAME 8192
79 #define VIF_CANNOTDELETECUR 16384
80 #define VIF_OUTOFMEMORY 32768
81 #define VIF_CANNOTREADSRC 65536
82 #define VIF_CANNOTREADDST 0x20000
83 #define VIF_BUFFTOOSMALL 0x40000
85 typedef struct tagVS_FIXEDFILEINFO
{
88 DWORD dwFileVersionMS
;
89 DWORD dwFileVersionLS
;
90 DWORD dwProductVersionMS
;
91 DWORD dwProductVersionLS
;
92 DWORD dwFileFlagsMask
;
100 DWORD WINAPI
VerFindFileA(DWORD
,LPSTR
,LPSTR
,LPSTR
,LPSTR
,PUINT
,LPSTR
,PUINT
);
101 DWORD WINAPI
VerFindFileW(DWORD
,LPWSTR
,LPWSTR
,LPWSTR
,LPWSTR
,PUINT
,LPWSTR
,PUINT
);
102 DWORD WINAPI
VerInstallFileA(DWORD
,LPSTR
,LPSTR
,LPSTR
,LPSTR
,LPSTR
,LPSTR
,PUINT
);
103 DWORD WINAPI
VerInstallFileW(DWORD
,LPWSTR
,LPWSTR
,LPWSTR
,LPWSTR
,LPWSTR
,LPWSTR
,PUINT
);
104 DWORD WINAPI
GetFileVersionInfoSizeA(LPCSTR
,PDWORD
);
105 DWORD WINAPI
GetFileVersionInfoSizeW(LPCWSTR
,PDWORD
);
106 BOOL WINAPI
GetFileVersionInfoA(LPCSTR
,DWORD
,DWORD
,PVOID
);
107 BOOL WINAPI
GetFileVersionInfoW(LPCWSTR
,DWORD
,DWORD
,PVOID
);
108 DWORD WINAPI
VerLanguageNameA(DWORD
,LPSTR
,DWORD
);
109 DWORD WINAPI
VerLanguageNameW(DWORD
,LPWSTR
,DWORD
);
110 BOOL WINAPI
VerQueryValueA(const LPVOID
,LPSTR
,LPVOID
*,PUINT
);
111 BOOL WINAPI
VerQueryValueW(const LPVOID
,LPWSTR
,LPVOID
*,PUINT
);
113 #define VerFindFile VerFindFileW
114 #define VerQueryValue VerQueryValueW
115 #define VerInstallFile VerInstallFileW
116 #define GetFileVersionInfoSize GetFileVersionInfoSizeW
117 #define GetFileVersionInfo GetFileVersionInfoW
118 #define VerLanguageName VerLanguageNameW
119 #define VerQueryValue VerQueryValueW
121 #define VerQueryValue VerQueryValueA
122 #define VerFindFile VerFindFileA
123 #define VerInstallFile VerInstallFileA
124 #define GetFileVersionInfoSize GetFileVersionInfoSizeA
125 #define GetFileVersionInfo GetFileVersionInfoA
126 #define VerLanguageName VerLanguageNameA
127 #define VerQueryValue VerQueryValueA