Artifact e2bb31df25854a971f9ddffbb966bde19a6a2d08
1 module win32.winver;
2
3 // Translated from Microsoft Platform SDK August 2001 Edition
4 // by Y.Tomino
5
6 import win32.winuser;
7
8 // #ifndef VER_H
9 // #define VER_H
10
11 // #ifdef __cplusplus
12 // extern "C" {
13 // #endif
14
15 alias RT_VERSION VS_FILE_INFO;
16 enum : uint { VS_VERSION_INFO = 1 }
17 enum : uint { VS_USER_DEFINED = 100 }
18
19 // #ifndef _MAC
20 enum : uint { VS_FFI_SIGNATURE = 0xFEEF04BD }
21 // #else
22 // #...
23 // #endif
24 enum : uint { VS_FFI_STRUCVERSION = 0x00010000 }
25 enum : uint { VS_FFI_FILEFLAGSMASK = 0x0000003F }
26
27 enum : uint { VS_FF_DEBUG = 0x00000001 }
28 enum : uint { VS_FF_PRERELEASE = 0x00000002 }
29 enum : uint { VS_FF_PATCHED = 0x00000004 }
30 enum : uint { VS_FF_PRIVATEBUILD = 0x00000008 }
31 enum : uint { VS_FF_INFOINFERRED = 0x00000010 }
32 enum : uint { VS_FF_SPECIALBUILD = 0x00000020 }
33
34 enum : uint { VOS_UNKNOWN = 0x00000000 }
35 enum : uint { VOS_DOS = 0x00010000 }
36 enum : uint { VOS_OS216 = 0x00020000 }
37 enum : uint { VOS_OS232 = 0x00030000 }
38 enum : uint { VOS_NT = 0x00040000 }
39
40 enum : uint { VOS__BASE = 0x00000000 }
41 enum : uint { VOS__WINDOWS16 = 0x00000001 }
42 enum : uint { VOS__PM16 = 0x00000002 }
43 enum : uint { VOS__PM32 = 0x00000003 }
44 enum : uint { VOS__WINDOWS32 = 0x00000004 }
45
46 enum : uint { VOS_DOS_WINDOWS16 = 0x00010001 }
47 enum : uint { VOS_DOS_WINDOWS32 = 0x00010004 }
48 enum : uint { VOS_OS216_PM16 = 0x00020002 }
49 enum : uint { VOS_OS232_PM32 = 0x00030003 }
50 enum : uint { VOS_NT_WINDOWS32 = 0x00040004 }
51
52 enum : uint { VFT_UNKNOWN = 0x00000000 }
53 enum : uint { VFT_APP = 0x00000001 }
54 enum : uint { VFT_DLL = 0x00000002 }
55 enum : uint { VFT_DRV = 0x00000003 }
56 enum : uint { VFT_FONT = 0x00000004 }
57 enum : uint { VFT_VXD = 0x00000005 }
58 enum : uint { VFT_STATIC_LIB = 0x00000007 }
59
60 enum : uint { VFT2_UNKNOWN = 0x00000000 }
61 enum : uint { VFT2_DRV_PRINTER = 0x00000001 }
62 enum : uint { VFT2_DRV_KEYBOARD = 0x00000002 }
63 enum : uint { VFT2_DRV_LANGUAGE = 0x00000003 }
64 enum : uint { VFT2_DRV_DISPLAY = 0x00000004 }
65 enum : uint { VFT2_DRV_MOUSE = 0x00000005 }
66 enum : uint { VFT2_DRV_NETWORK = 0x00000006 }
67 enum : uint { VFT2_DRV_SYSTEM = 0x00000007 }
68 enum : uint { VFT2_DRV_INSTALLABLE = 0x00000008 }
69 enum : uint { VFT2_DRV_SOUND = 0x00000009 }
70 enum : uint { VFT2_DRV_COMM = 0x0000000A }
71 enum : uint { VFT2_DRV_INPUTMETHOD = 0x0000000B }
72 enum : uint { VFT2_DRV_VERSIONED_PRINTER = 0x0000000C }
73
74 enum : uint { VFT2_FONT_RASTER = 0x00000001 }
75 enum : uint { VFT2_FONT_VECTOR = 0x00000002 }
76 enum : uint { VFT2_FONT_TRUETYPE = 0x00000003 }
77
78 enum : uint { VFFF_ISSHAREDFILE = 0x0001 }
79
80 enum : uint { VFF_CURNEDEST = 0x0001 }
81 enum : uint { VFF_FILEINUSE = 0x0002 }
82 enum : uint { VFF_BUFFTOOSMALL = 0x0004 }
83
84 enum : uint { VIFF_FORCEINSTALL = 0x0001 }
85 enum : uint { VIFF_DONTDELETEOLD = 0x0002 }
86
87 enum : uint { VIF_TEMPFILE = 0x00000001 }
88 enum : uint { VIF_MISMATCH = 0x00000002 }
89 enum : uint { VIF_SRCOLD = 0x00000004 }
90
91 enum : uint { VIF_DIFFLANG = 0x00000008 }
92 enum : uint { VIF_DIFFCODEPG = 0x00000010 }
93 enum : uint { VIF_DIFFTYPE = 0x00000020 }
94
95 enum : uint { VIF_WRITEPROT = 0x00000040 }
96 enum : uint { VIF_FILEINUSE = 0x00000080 }
97 enum : uint { VIF_OUTOFSPACE = 0x00000100 }
98 enum : uint { VIF_ACCESSVIOLATION = 0x00000200 }
99 enum : uint { VIF_SHARINGVIOLATION = 0x00000400 }
100 enum : uint { VIF_CANNOTCREATE = 0x00000800 }
101 enum : uint { VIF_CANNOTDELETE = 0x00001000 }
102 enum : uint { VIF_CANNOTRENAME = 0x00002000 }
103 enum : uint { VIF_CANNOTDELETECUR = 0x00004000 }
104 enum : uint { VIF_OUTOFMEMORY = 0x00008000 }
105
106 enum : uint { VIF_CANNOTREADSRC = 0x00010000 }
107 enum : uint { VIF_CANNOTREADDST = 0x00020000 }
108
109 enum : uint { VIF_BUFFTOOSMALL = 0x00040000 }
110 enum : uint { VIF_CANNOTLOADLZ32 = 0x00080000 }
111 enum : uint { VIF_CANNOTLOADCABINET = 0x00100000 }
112
113 // #ifndef RC_INVOKED /* RC doesn't need to see the rest of this */
114
115 struct tagVS_FIXEDFILEINFO {
116 DWORD dwSignature;
117 DWORD dwStrucVersion;
118 DWORD dwFileVersionMS;
119 DWORD dwFileVersionLS;
120 DWORD dwProductVersionMS;
121 DWORD dwProductVersionLS;
122 DWORD dwFileFlagsMask;
123 DWORD dwFileFlags;
124 DWORD dwFileOS;
125 DWORD dwFileType;
126 DWORD dwFileSubtype;
127 DWORD dwFileDateMS;
128 DWORD dwFileDateLS;
129 }
130 alias tagVS_FIXEDFILEINFO VS_FIXEDFILEINFO;
131
132 extern(Windows) export DWORD VerFindFileA(
133 DWORD uFlags,
134 LPSTR szFileName,
135 LPSTR szWinDir,
136 LPSTR szAppDir,
137 LPSTR szCurDir,
138 PUINT lpuCurDirLen,
139 LPSTR szDestDir,
140 PUINT lpuDestDirLen
141 );
142 extern(Windows) export DWORD VerFindFileW(
143 DWORD uFlags,
144 LPWSTR szFileName,
145 LPWSTR szWinDir,
146 LPWSTR szAppDir,
147 LPWSTR szCurDir,
148 PUINT lpuCurDirLen,
149 LPWSTR szDestDir,
150 PUINT lpuDestDirLen
151 );
152 // #ifdef UNICODE
153 alias VerFindFileW VerFindFile;
154 // #else
155 // #...
156 // #endif // !UNICODE
157
158 extern(Windows) export DWORD VerInstallFileA(
159 DWORD uFlags,
160 LPSTR szSrcFileName,
161 LPSTR szDestFileName,
162 LPSTR szSrcDir,
163 LPSTR szDestDir,
164 LPSTR szCurDir,
165 LPSTR szTmpFile,
166 PUINT lpuTmpFileLen
167 );
168 extern(Windows) export DWORD VerInstallFileW(
169 DWORD uFlags,
170 LPWSTR szSrcFileName,
171 LPWSTR szDestFileName,
172 LPWSTR szSrcDir,
173 LPWSTR szDestDir,
174 LPWSTR szCurDir,
175 LPWSTR szTmpFile,
176 PUINT lpuTmpFileLen
177 );
178 // #ifdef UNICODE
179 alias VerInstallFileW VerInstallFile;
180 // #else
181 // #...
182 // #endif // !UNICODE
183
184 extern(Windows) export DWORD GetFileVersionInfoSizeA(
185 LPSTR lptstrFilename,
186 LPDWORD lpdwHandle
187 );
188
189 extern(Windows) export DWORD GetFileVersionInfoSizeW(
190 LPWSTR lptstrFilename,
191 LPDWORD lpdwHandle
192 );
193 // #ifdef UNICODE
194 alias GetFileVersionInfoSizeW GetFileVersionInfoSize;
195 // #else
196 // #...
197 // #endif // !UNICODE
198
199 extern(Windows) export BOOL GetFileVersionInfoA(
200 LPSTR lptstrFilename,
201 DWORD dwHandle,
202 DWORD dwLen,
203 LPVOID lpData
204 );
205
206 extern(Windows) export BOOL GetFileVersionInfoW(
207 LPWSTR lptstrFilename,
208 DWORD dwHandle,
209 DWORD dwLen,
210 LPVOID lpData
211 );
212 // #ifdef UNICODE
213 alias GetFileVersionInfoW GetFileVersionInfo;
214 // #else
215 // #...
216 // #endif // !UNICODE
217
218 extern(Windows) export DWORD VerLanguageNameA(
219 DWORD wLang,
220 LPSTR szLang,
221 DWORD nSize
222 );
223 extern(Windows) export DWORD VerLanguageNameW(
224 DWORD wLang,
225 LPWSTR szLang,
226 DWORD nSize
227 );
228 // #ifdef UNICODE
229 alias VerLanguageNameW VerLanguageName;
230 // #else
231 // #...
232 // #endif // !UNICODE
233
234 extern(Windows) export BOOL VerQueryValueA(
235 LPVOID pBlock,
236 LPSTR lpSubBlock,
237 LPVOID * lplpBuffer,
238 PUINT puLen
239 );
240 extern(Windows) export BOOL VerQueryValueW(
241 LPVOID pBlock,
242 LPWSTR lpSubBlock,
243 LPVOID * lplpBuffer,
244 PUINT puLen
245 );
246 // #ifdef UNICODE
247 alias VerQueryValueW VerQueryValue;
248 // #else
249 // #...
250 // #endif // !UNICODE
251
252 // #endif /* !RC_INVOKED */
253
254 // #ifdef __cplusplus
255 // }
256 // #endif
257
258 // #endif /* !VER_H */
259