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