1 | cpp_quote("/**")
|
---|
2 | cpp_quote(" * This file is part of the mingw-w64 runtime package.")
|
---|
3 | cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.")
|
---|
4 | cpp_quote(" */")
|
---|
5 | cpp_quote("")
|
---|
6 |
|
---|
7 | import "unknwn.idl";
|
---|
8 | import "wtypes.idl";
|
---|
9 |
|
---|
10 | cpp_quote("")
|
---|
11 | cpp_quote("#ifndef DUMMYUNIONNAME")
|
---|
12 | cpp_quote("#ifdef NONAMELESSUNION")
|
---|
13 | cpp_quote("#define DUMMYUNIONNAME u")
|
---|
14 | cpp_quote("#define DUMMYUNIONNAME2 u2")
|
---|
15 | cpp_quote("#define DUMMYUNIONNAME3 u3")
|
---|
16 | cpp_quote("#define DUMMYUNIONNAME4 u4")
|
---|
17 | cpp_quote("#define DUMMYUNIONNAME5 u5")
|
---|
18 | cpp_quote("#else")
|
---|
19 | cpp_quote("#define DUMMYUNIONNAME")
|
---|
20 | cpp_quote("#define DUMMYUNIONNAME2")
|
---|
21 | cpp_quote("#define DUMMYUNIONNAME3")
|
---|
22 | cpp_quote("#define DUMMYUNIONNAME4")
|
---|
23 | cpp_quote("#define DUMMYUNIONNAME5")
|
---|
24 | cpp_quote("#endif")
|
---|
25 | cpp_quote("#endif")
|
---|
26 |
|
---|
27 | cpp_quote("")
|
---|
28 | cpp_quote("#include <pshpack1.h>")
|
---|
29 | typedef struct _SHITEMID {
|
---|
30 | USHORT cb;
|
---|
31 | BYTE abID[];
|
---|
32 | } SHITEMID;
|
---|
33 | cpp_quote("#include <poppack.h>")
|
---|
34 |
|
---|
35 | cpp_quote("")
|
---|
36 | cpp_quote("#if (defined(_X86_) && !defined(__x86_64))")
|
---|
37 | cpp_quote("#undef __unaligned")
|
---|
38 | cpp_quote("#define __unaligned")
|
---|
39 | cpp_quote("#endif")
|
---|
40 |
|
---|
41 | cpp_quote("")
|
---|
42 | typedef SHITEMID *LPSHITEMID;
|
---|
43 | typedef const SHITEMID *LPCSHITEMID;
|
---|
44 |
|
---|
45 | cpp_quote("")
|
---|
46 | cpp_quote("#include <pshpack1.h>")
|
---|
47 | typedef struct _ITEMIDLIST {
|
---|
48 | SHITEMID mkid;
|
---|
49 | } ITEMIDLIST;
|
---|
50 |
|
---|
51 | cpp_quote("")
|
---|
52 | cpp_quote("#if defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus)")
|
---|
53 | cpp_quote(" typedef struct _ITEMIDLIST_RELATIVE : ITEMIDLIST { } ITEMIDLIST_RELATIVE;")
|
---|
54 | cpp_quote(" typedef struct _ITEMID_CHILD : ITEMIDLIST_RELATIVE { } ITEMID_CHILD;")
|
---|
55 | cpp_quote(" typedef struct _ITEMIDLIST_ABSOLUTE : ITEMIDLIST_RELATIVE { } ITEMIDLIST_ABSOLUTE;")
|
---|
56 | cpp_quote("#else")
|
---|
57 | typedef ITEMIDLIST ITEMIDLIST_RELATIVE;
|
---|
58 | typedef ITEMIDLIST ITEMID_CHILD;
|
---|
59 | typedef ITEMIDLIST ITEMIDLIST_ABSOLUTE;
|
---|
60 | cpp_quote("#endif")
|
---|
61 | cpp_quote("#include <poppack.h>")
|
---|
62 |
|
---|
63 | cpp_quote("")
|
---|
64 | typedef [unique] BYTE_BLOB *wirePIDL;
|
---|
65 | typedef [wire_marshal (wirePIDL)] ITEMIDLIST *LPITEMIDLIST;
|
---|
66 | typedef [wire_marshal (wirePIDL)] const ITEMIDLIST *LPCITEMIDLIST;
|
---|
67 | cpp_quote("#if defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus)")
|
---|
68 | typedef [wire_marshal (wirePIDL)] ITEMIDLIST_ABSOLUTE *PIDLIST_ABSOLUTE;
|
---|
69 | typedef [wire_marshal (wirePIDL)] const ITEMIDLIST_ABSOLUTE *PCIDLIST_ABSOLUTE;
|
---|
70 | typedef [wire_marshal (wirePIDL)] const ITEMIDLIST_ABSOLUTE *PCUIDLIST_ABSOLUTE;
|
---|
71 | typedef [wire_marshal (wirePIDL)] ITEMIDLIST_RELATIVE *PIDLIST_RELATIVE;
|
---|
72 | typedef [wire_marshal (wirePIDL)] const ITEMIDLIST_RELATIVE *PCIDLIST_RELATIVE;
|
---|
73 | typedef [wire_marshal (wirePIDL)] ITEMIDLIST_RELATIVE *PUIDLIST_RELATIVE;
|
---|
74 | typedef [wire_marshal (wirePIDL)] const ITEMIDLIST_RELATIVE *PCUIDLIST_RELATIVE;
|
---|
75 | typedef [wire_marshal (wirePIDL)] ITEMID_CHILD *PITEMID_CHILD;
|
---|
76 | typedef [wire_marshal (wirePIDL)] const ITEMID_CHILD *PCITEMID_CHILD;
|
---|
77 | typedef [wire_marshal (wirePIDL)] ITEMID_CHILD *PUITEMID_CHILD;
|
---|
78 | typedef [wire_marshal (wirePIDL)] const ITEMID_CHILD *PCUITEMID_CHILD;
|
---|
79 | typedef PCUITEMID_CHILD const *PCUITEMID_CHILD_ARRAY;
|
---|
80 | typedef PCUIDLIST_RELATIVE const *PCUIDLIST_RELATIVE_ARRAY;
|
---|
81 | typedef PCIDLIST_ABSOLUTE const *PCIDLIST_ABSOLUTE_ARRAY;
|
---|
82 | typedef PCUIDLIST_ABSOLUTE const *PCUIDLIST_ABSOLUTE_ARRAY;
|
---|
83 | cpp_quote("#else")
|
---|
84 | cpp_quote("#define PIDLIST_ABSOLUTE LPITEMIDLIST")
|
---|
85 | cpp_quote("#define PCIDLIST_ABSOLUTE LPCITEMIDLIST")
|
---|
86 | cpp_quote("#define PCUIDLIST_ABSOLUTE LPCITEMIDLIST")
|
---|
87 | cpp_quote("#define PIDLIST_RELATIVE LPITEMIDLIST")
|
---|
88 | cpp_quote("#define PCIDLIST_RELATIVE LPCITEMIDLIST")
|
---|
89 | cpp_quote("#define PUIDLIST_RELATIVE LPITEMIDLIST")
|
---|
90 | cpp_quote("#define PCUIDLIST_RELATIVE LPCITEMIDLIST")
|
---|
91 | cpp_quote("#define PITEMID_CHILD LPITEMIDLIST")
|
---|
92 | cpp_quote("#define PCITEMID_CHILD LPCITEMIDLIST")
|
---|
93 | cpp_quote("#define PUITEMID_CHILD LPITEMIDLIST")
|
---|
94 | cpp_quote("#define PCUITEMID_CHILD LPCITEMIDLIST")
|
---|
95 | cpp_quote("#define PCUITEMID_CHILD_ARRAY LPCITEMIDLIST *")
|
---|
96 | cpp_quote("#define PCUIDLIST_RELATIVE_ARRAY LPCITEMIDLIST *")
|
---|
97 | cpp_quote("#define PCIDLIST_ABSOLUTE_ARRAY LPCITEMIDLIST *")
|
---|
98 | cpp_quote("#define PCUIDLIST_ABSOLUTE_ARRAY LPCITEMIDLIST *")
|
---|
99 | cpp_quote("#endif")
|
---|
100 |
|
---|
101 | #ifndef MAX_PATH
|
---|
102 | #define MAX_PATH 260
|
---|
103 | #endif
|
---|
104 |
|
---|
105 | cpp_quote("")
|
---|
106 | cpp_quote("#if 0")
|
---|
107 | typedef struct _WIN32_FIND_DATAA {
|
---|
108 | DWORD dwFileAttributes;
|
---|
109 | FILETIME ftCreationTime;
|
---|
110 | FILETIME ftLastAccessTime;
|
---|
111 | FILETIME ftLastWriteTime;
|
---|
112 | DWORD nFileSizeHigh;
|
---|
113 | DWORD nFileSizeLow;
|
---|
114 | DWORD dwReserved0;
|
---|
115 | DWORD dwReserved1;
|
---|
116 | CHAR cFileName[MAX_PATH];
|
---|
117 | CHAR cAlternateFileName[14];
|
---|
118 | } WIN32_FIND_DATAA,*PWIN32_FIND_DATAA,*LPWIN32_FIND_DATAA;
|
---|
119 |
|
---|
120 | cpp_quote("")
|
---|
121 | typedef struct _WIN32_FIND_DATAW {
|
---|
122 | DWORD dwFileAttributes;
|
---|
123 | FILETIME ftCreationTime;
|
---|
124 | FILETIME ftLastAccessTime;
|
---|
125 | FILETIME ftLastWriteTime;
|
---|
126 | DWORD nFileSizeHigh;
|
---|
127 | DWORD nFileSizeLow;
|
---|
128 | DWORD dwReserved0;
|
---|
129 | DWORD dwReserved1;
|
---|
130 | WCHAR cFileName[MAX_PATH];
|
---|
131 | WCHAR cAlternateFileName[14];
|
---|
132 | } WIN32_FIND_DATAW,*PWIN32_FIND_DATAW,*LPWIN32_FIND_DATAW;
|
---|
133 | cpp_quote("#endif")
|
---|
134 |
|
---|
135 | cpp_quote("")
|
---|
136 | typedef [v1_enum] enum tagSTRRET_TYPE {
|
---|
137 | STRRET_WSTR = 0x0000,
|
---|
138 | STRRET_OFFSET = 0x0001,
|
---|
139 | STRRET_CSTR = 0x0002
|
---|
140 | } STRRET_TYPE;
|
---|
141 |
|
---|
142 | cpp_quote("")
|
---|
143 | cpp_quote("#include <pshpack8.h>")
|
---|
144 | typedef struct _STRRET {
|
---|
145 | UINT uType;
|
---|
146 | [switch_type (UINT), switch_is (uType)] union {
|
---|
147 | [case (STRRET_WSTR)][string] LPWSTR pOleStr;
|
---|
148 | [case (STRRET_OFFSET)] UINT uOffset;
|
---|
149 | [case (STRRET_CSTR)] char cStr[MAX_PATH];
|
---|
150 | };
|
---|
151 | } STRRET;
|
---|
152 | cpp_quote("#include <poppack.h>")
|
---|
153 |
|
---|
154 | cpp_quote("")
|
---|
155 | typedef STRRET *LPSTRRET;
|
---|
156 | cpp_quote("")
|
---|
157 | cpp_quote("#include <pshpack1.h>")
|
---|
158 | typedef struct _SHELLDETAILS {
|
---|
159 | int fmt;
|
---|
160 | int cxChar;
|
---|
161 | STRRET str;
|
---|
162 | } SHELLDETAILS,*LPSHELLDETAILS;
|
---|
163 | cpp_quote("#include <poppack.h>")
|
---|
164 |
|
---|
165 | cpp_quote("")
|
---|
166 | cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE60SP2")
|
---|
167 | typedef [v1_enum] enum tagPERCEIVED {
|
---|
168 | PERCEIVED_TYPE_FIRST = -3,
|
---|
169 | PERCEIVED_TYPE_CUSTOM = -3,
|
---|
170 | PERCEIVED_TYPE_UNSPECIFIED = -2,
|
---|
171 | PERCEIVED_TYPE_FOLDER = -1,
|
---|
172 | PERCEIVED_TYPE_UNKNOWN = 0,
|
---|
173 | PERCEIVED_TYPE_TEXT = 1,
|
---|
174 | PERCEIVED_TYPE_IMAGE = 2,
|
---|
175 | PERCEIVED_TYPE_AUDIO = 3,
|
---|
176 | PERCEIVED_TYPE_VIDEO = 4,
|
---|
177 | PERCEIVED_TYPE_COMPRESSED = 5,
|
---|
178 | PERCEIVED_TYPE_DOCUMENT = 6,
|
---|
179 | PERCEIVED_TYPE_SYSTEM = 7,
|
---|
180 | PERCEIVED_TYPE_APPLICATION = 8,
|
---|
181 | PERCEIVED_TYPE_GAMEMEDIA = 9,
|
---|
182 | PERCEIVED_TYPE_CONTACTS = 10,
|
---|
183 | PERCEIVED_TYPE_LAST = 10
|
---|
184 | } PERCEIVED;
|
---|
185 |
|
---|
186 | cpp_quote("")
|
---|
187 | cpp_quote("#define PERCEIVEDFLAG_UNDEFINED 0x0000")
|
---|
188 | cpp_quote("#define PERCEIVEDFLAG_SOFTCODED 0x0001")
|
---|
189 | cpp_quote("#define PERCEIVEDFLAG_HARDCODED 0x0002")
|
---|
190 | cpp_quote("#define PERCEIVEDFLAG_NATIVESUPPORT 0x0004")
|
---|
191 | cpp_quote("#define PERCEIVEDFLAG_GDIPLUS 0x0010")
|
---|
192 | cpp_quote("#define PERCEIVEDFLAG_WMSDK 0x0020")
|
---|
193 | cpp_quote("#define PERCEIVEDFLAG_ZIPFOLDER 0x0040")
|
---|
194 |
|
---|
195 | cpp_quote("")
|
---|
196 | typedef DWORD PERCEIVEDFLAG;
|
---|
197 | cpp_quote("#endif")
|
---|
198 |
|
---|
199 | cpp_quote("")
|
---|
200 | typedef struct _COMDLG_FILTERSPEC {
|
---|
201 | [string] LPCWSTR pszName;
|
---|
202 | [string] LPCWSTR pszSpec;
|
---|
203 | } COMDLG_FILTERSPEC;
|
---|
204 |
|
---|
205 | cpp_quote("")
|
---|
206 | typedef GUID KNOWNFOLDERID;
|
---|
207 | cpp_quote("")
|
---|
208 | cpp_quote("#if 0")
|
---|
209 | typedef KNOWNFOLDERID *REFKNOWNFOLDERID;
|
---|
210 | cpp_quote("#endif")
|
---|
211 | cpp_quote("")
|
---|
212 | cpp_quote("#ifdef __cplusplus")
|
---|
213 | cpp_quote("#define REFKNOWNFOLDERID const KNOWNFOLDERID &")
|
---|
214 | cpp_quote("#else")
|
---|
215 | cpp_quote("#define REFKNOWNFOLDERID const KNOWNFOLDERID * __MIDL_CONST")
|
---|
216 | cpp_quote("#endif")
|
---|
217 |
|
---|
218 | cpp_quote("")
|
---|
219 | cpp_quote("typedef DWORD KF_REDIRECT_FLAGS;")
|
---|
220 |
|
---|
221 | cpp_quote("")
|
---|
222 | typedef GUID FOLDERTYPEID;
|
---|
223 | cpp_quote("")
|
---|
224 | cpp_quote("#if 0")
|
---|
225 | typedef FOLDERTYPEID *REFFOLDERTYPEID;
|
---|
226 | cpp_quote("#endif")
|
---|
227 |
|
---|
228 | cpp_quote("")
|
---|
229 | cpp_quote("#ifdef __cplusplus")
|
---|
230 | cpp_quote("#define REFFOLDERTYPEID const FOLDERTYPEID &")
|
---|
231 | cpp_quote("#else")
|
---|
232 | cpp_quote("#define REFFOLDERTYPEID const FOLDERTYPEID * __MIDL_CONST")
|
---|
233 | cpp_quote("#endif")
|
---|
234 |
|
---|
235 | cpp_quote("")
|
---|
236 | typedef GUID TASKOWNERID;
|
---|
237 | cpp_quote("")
|
---|
238 | cpp_quote("#if 0")
|
---|
239 | typedef TASKOWNERID *REFTASKOWNERID;
|
---|
240 | cpp_quote("#endif")
|
---|
241 |
|
---|
242 | cpp_quote("")
|
---|
243 | cpp_quote("#ifdef __cplusplus")
|
---|
244 | cpp_quote("#define REFTASKOWNERID const TASKOWNERID &")
|
---|
245 | cpp_quote("#else")
|
---|
246 | cpp_quote("#define REFTASKOWNERID const TASKOWNERID * __MIDL_CONST")
|
---|
247 | cpp_quote("#endif")
|
---|
248 |
|
---|
249 | cpp_quote("")
|
---|
250 | typedef GUID ELEMENTID;
|
---|
251 | cpp_quote("")
|
---|
252 | cpp_quote("#if 0")
|
---|
253 | typedef ELEMENTID *REFELEMENTID;
|
---|
254 | cpp_quote("#endif")
|
---|
255 |
|
---|
256 | cpp_quote("")
|
---|
257 | cpp_quote("#ifdef __cplusplus")
|
---|
258 | cpp_quote("#define REFELEMENTID const ELEMENTID &")
|
---|
259 | cpp_quote("#else")
|
---|
260 | cpp_quote("#define REFELEMENTID const ELEMENTID * __MIDL_CONST")
|
---|
261 | cpp_quote("#endif")
|
---|
262 |
|
---|
263 | cpp_quote("")
|
---|
264 | cpp_quote("#ifndef LF_FACESIZE")
|
---|
265 |
|
---|
266 | #define LF_FACESIZE 32
|
---|
267 |
|
---|
268 | typedef struct tagLOGFONTA {
|
---|
269 | LONG lfHeight;
|
---|
270 | LONG lfWidth;
|
---|
271 | LONG lfEscapement;
|
---|
272 | LONG lfOrientation;
|
---|
273 | LONG lfWeight;
|
---|
274 | BYTE lfItalic;
|
---|
275 | BYTE lfUnderline;
|
---|
276 | BYTE lfStrikeOut;
|
---|
277 | BYTE lfCharSet;
|
---|
278 | BYTE lfOutPrecision;
|
---|
279 | BYTE lfClipPrecision;
|
---|
280 | BYTE lfQuality;
|
---|
281 | BYTE lfPitchAndFamily;
|
---|
282 | CHAR lfFaceName[LF_FACESIZE];
|
---|
283 | } LOGFONTA;
|
---|
284 |
|
---|
285 | cpp_quote("")
|
---|
286 | typedef struct tagLOGFONTW {
|
---|
287 | LONG lfHeight;
|
---|
288 | LONG lfWidth;
|
---|
289 | LONG lfEscapement;
|
---|
290 | LONG lfOrientation;
|
---|
291 | LONG lfWeight;
|
---|
292 | BYTE lfItalic;
|
---|
293 | BYTE lfUnderline;
|
---|
294 | BYTE lfStrikeOut;
|
---|
295 | BYTE lfCharSet;
|
---|
296 | BYTE lfOutPrecision;
|
---|
297 | BYTE lfClipPrecision;
|
---|
298 | BYTE lfQuality;
|
---|
299 | BYTE lfPitchAndFamily;
|
---|
300 | WCHAR lfFaceName[LF_FACESIZE];
|
---|
301 | } LOGFONTW;
|
---|
302 |
|
---|
303 | cpp_quote("")
|
---|
304 | #ifdef UNICODE
|
---|
305 | typedef LOGFONTW LOGFONT;
|
---|
306 | #else
|
---|
307 | typedef LOGFONTA LOGFONT;
|
---|
308 | #endif
|
---|
309 | cpp_quote("#endif")
|
---|
310 |
|
---|
311 | cpp_quote("")
|
---|
312 | typedef [v1_enum] enum tagSHCOLSTATE {
|
---|
313 | SHCOLSTATE_DEFAULT = 0x00000000,
|
---|
314 | SHCOLSTATE_TYPE_STR = 0x00000001,
|
---|
315 | SHCOLSTATE_TYPE_INT = 0x00000002,
|
---|
316 | SHCOLSTATE_TYPE_DATE = 0x00000003,
|
---|
317 | SHCOLSTATE_TYPEMASK = 0x0000000f,
|
---|
318 | SHCOLSTATE_ONBYDEFAULT = 0x00000010,
|
---|
319 | SHCOLSTATE_SLOW = 0x00000020,
|
---|
320 | SHCOLSTATE_EXTENDED = 0x00000040,
|
---|
321 | SHCOLSTATE_SECONDARYUI = 0x00000080,
|
---|
322 | SHCOLSTATE_HIDDEN = 0x00000100,
|
---|
323 | SHCOLSTATE_PREFER_VARCMP = 0x00000200,
|
---|
324 | SHCOLSTATE_PREFER_FMTCMP = 0x00000400,
|
---|
325 | SHCOLSTATE_NOSORTBYFOLDERNESS =
|
---|
326 | 0x00000800,
|
---|
327 | SHCOLSTATE_VIEWONLY = 0x00010000,
|
---|
328 | SHCOLSTATE_BATCHREAD = 0x00020000,
|
---|
329 | SHCOLSTATE_NO_GROUPBY = 0x00040000,
|
---|
330 | SHCOLSTATE_FIXED_WIDTH = 0x00001000,
|
---|
331 | SHCOLSTATE_NODPISCALE = 0x00002000,
|
---|
332 | SHCOLSTATE_FIXED_RATIO = 0x00004000,
|
---|
333 | SHCOLSTATE_DISPLAYMASK = 0x0000f000
|
---|
334 | } SHCOLSTATE;
|
---|
335 |
|
---|
336 | cpp_quote("")
|
---|
337 | typedef DWORD SHCOLSTATEF;
|
---|
338 | typedef PROPERTYKEY SHCOLUMNID;
|
---|
339 | typedef const SHCOLUMNID *LPCSHCOLUMNID;
|
---|
340 |
|
---|
341 | cpp_quote("")
|
---|
342 | typedef [v1_enum] enum DEVICE_SCALE_FACTOR {
|
---|
343 | DEVICE_SCALE_FACTOR_INVALID = 0,
|
---|
344 | SCALE_100_PERCENT = 100,
|
---|
345 | SCALE_120_PERCENT = 120,
|
---|
346 | SCALE_125_PERCENT = 125,
|
---|
347 | SCALE_140_PERCENT = 140,
|
---|
348 | SCALE_150_PERCENT = 150,
|
---|
349 | SCALE_160_PERCENT = 160,
|
---|
350 | SCALE_175_PERCENT = 175,
|
---|
351 | SCALE_180_PERCENT = 180,
|
---|
352 | SCALE_200_PERCENT = 200,
|
---|
353 | SCALE_225_PERCENT = 225,
|
---|
354 | SCALE_250_PERCENT = 250,
|
---|
355 | SCALE_300_PERCENT = 300,
|
---|
356 | SCALE_350_PERCENT = 350,
|
---|
357 | SCALE_400_PERCENT = 400,
|
---|
358 | SCALE_450_PERCENT = 450,
|
---|
359 | SCALE_500_PERCENT = 500
|
---|
360 | } DEVICE_SCALE_FACTOR;
|
---|