Artifact d51bd8693c9ea8e91547dccfe576bde3e9be6c41
1 module win32.ansi.winver;
2
3 // Translated from Microsoft Platform SDK August 2001 Edition
4 // by Y.Tomino (demoonlit@inter7.jp)
5
6 import win32.ansi.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 extern(Windows) export DWORD VerFindFileW(
142 DWORD uFlags,
143 LPWSTR szFileName,
144 LPWSTR szWinDir,
145 LPWSTR szAppDir,
146 LPWSTR szCurDir,
147 PUINT lpuCurDirLen,
148 LPWSTR szDestDir,
149 PUINT lpuDestDirLen);
150 // #ifdef UNICODE
151 // #...
152 // #else
153 alias VerFindFileA VerFindFile;
154 // #endif // !UNICODE
155
156 extern(Windows) export DWORD VerInstallFileA(
157 DWORD uFlags,
158 LPSTR szSrcFileName,
159 LPSTR szDestFileName,
160 LPSTR szSrcDir,
161 LPSTR szDestDir,
162 LPSTR szCurDir,
163 LPSTR szTmpFile,
164 PUINT lpuTmpFileLen);
165 extern(Windows) export DWORD VerInstallFileW(
166 DWORD uFlags,
167 LPWSTR szSrcFileName,
168 LPWSTR szDestFileName,
169 LPWSTR szSrcDir,
170 LPWSTR szDestDir,
171 LPWSTR szCurDir,
172 LPWSTR szTmpFile,
173 PUINT lpuTmpFileLen);
174 // #ifdef UNICODE
175 // #...
176 // #else
177 alias VerInstallFileA VerInstallFile;
178 // #endif // !UNICODE
179
180 extern(Windows) export DWORD GetFileVersionInfoSizeA(
181 LPSTR lptstrFilename,
182 LPDWORD lpdwHandle);
183
184 extern(Windows) export DWORD GetFileVersionInfoSizeW(
185 LPWSTR lptstrFilename,
186 LPDWORD lpdwHandle);
187 // #ifdef UNICODE
188 // #...
189 // #else
190 alias GetFileVersionInfoSizeA GetFileVersionInfoSize;
191 // #endif // !UNICODE
192
193 extern(Windows) export BOOL GetFileVersionInfoA(
194 LPSTR lptstrFilename,
195 DWORD dwHandle,
196 DWORD dwLen,
197 LPVOID lpData);
198
199 extern(Windows) export BOOL GetFileVersionInfoW(
200 LPWSTR lptstrFilename,
201 DWORD dwHandle,
202 DWORD dwLen,
203 LPVOID lpData);
204 // #ifdef UNICODE
205 // #...
206 // #else
207 alias GetFileVersionInfoA GetFileVersionInfo;
208 // #endif // !UNICODE
209
210 extern(Windows) export DWORD VerLanguageNameA(
211 DWORD wLang,
212 LPSTR szLang,
213 DWORD nSize);
214 extern(Windows) export DWORD VerLanguageNameW(
215 DWORD wLang,
216 LPWSTR szLang,
217 DWORD nSize);
218 // #ifdef UNICODE
219 // #...
220 // #else
221 alias VerLanguageNameA VerLanguageName;
222 // #endif // !UNICODE
223
224 extern(Windows) export BOOL VerQueryValueA(
225 LPVOID pBlock,
226 LPSTR lpSubBlock,
227 LPVOID * lplpBuffer,
228 PUINT puLen);
229 extern(Windows) export BOOL VerQueryValueW(
230 LPVOID pBlock,
231 LPWSTR lpSubBlock,
232 LPVOID * lplpBuffer,
233 PUINT puLen);
234 // #ifdef UNICODE
235 // #...
236 // #else
237 alias VerQueryValueA VerQueryValue;
238 // #endif // !UNICODE
239
240 // #endif /* !RC_INVOKED */
241
242 // #ifdef __cplusplus
243 // }
244 // #endif
245
246 // #endif /* !VER_H */
247