1 /*** Autogenerated by WIDL 6.4 from include/wtypes.idl - Do not edit ***/
2 
3 #ifdef _WIN32
4 #ifndef __REQUIRED_RPCNDR_H_VERSION__
5 #define __REQUIRED_RPCNDR_H_VERSION__ 475
6 #endif
7 #include <rpc.h>
8 #include <rpcndr.h>
9 #endif
10 
11 #ifndef COM_NO_WINDOWS_H
12 #include <windows.h>
13 #include <ole2.h>
14 #endif
15 
16 #ifndef __wtypes_h__
17 #define __wtypes_h__
18 
19 /* Forward declarations */
20 
21 /* Headers for imported files */
22 
23 #include <wtypesbase.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 /*****************************************************************************
36  * IWinTypes interface (v0.1)
37  */
38 #ifndef __IWinTypes_INTERFACE_DEFINED__
39 #define __IWinTypes_INTERFACE_DEFINED__
40 
41 extern RPC_IF_HANDLE IWinTypes_v0_1_c_ifspec;
42 extern RPC_IF_HANDLE IWinTypes_v0_1_s_ifspec;
43 typedef struct tagRemHGLOBAL {
44     LONG fNullHGlobal;
45     ULONG cbData;
46     byte data[1];
47 } RemHGLOBAL;
48 
49 typedef struct tagRemHMETAFILEPICT {
50     LONG mm;
51     LONG xExt;
52     LONG yExt;
53     ULONG cbData;
54     byte data[1];
55 } RemHMETAFILEPICT;
56 
57 typedef struct tagRemHENHMETAFILE {
58     ULONG cbData;
59     byte data[1];
60 } RemHENHMETAFILE;
61 typedef struct tagRemHBITMAP {
62     ULONG cbData;
63     byte data[1];
64 } RemHBITMAP;
65 
66 typedef struct tagRemHPALETTE {
67     ULONG cbData;
68     byte data[1];
69 } RemHPALETTE;
70 
71 typedef struct tagRemBRUSH {
72     ULONG cbData;
73     byte data[1];
74 } RemHBRUSH;
75 #if 0
76 typedef UINT_PTR WPARAM;
77 typedef LONG_PTR LPARAM;
78 typedef LONG_PTR LRESULT;
79 typedef void *HMODULE;
80 typedef void *HINSTANCE;
81 typedef void *HTASK;
82 typedef void *HKEY;
83 typedef void *HDESK;
84 typedef void *HMF;
85 typedef void *HEMF;
86 typedef void *HPEN;
87 typedef void *HRSRC;
88 typedef void *HSTR;
89 typedef void *HWINSTA;
90 typedef void *HKL;
91 typedef void *HGDIOBJ;
92 typedef HANDLE HDWP;
93 typedef INT HFILE;
94 typedef DWORD COLORREF;
95 typedef DWORD *LPCOLORREF;
96 typedef struct _RECTL {
97     LONG left;
98     LONG top;
99     LONG right;
100     LONG bottom;
101 } RECTL;
102 typedef struct _RECTL *PRECTL;
103 typedef struct _RECTL *LPRECTL;
104 typedef struct tagPOINT {
105     LONG x;
106     LONG y;
107 } POINT;
108 typedef struct tagPOINT *PPOINT;
109 typedef struct tagPOINT *LPPOINT;
110 typedef struct _POINTL {
111     LONG x;
112     LONG y;
113 } POINTL;
114 typedef struct _POINTL *PPOINTL;
115 typedef struct tagSIZE {
116     LONG cx;
117     LONG cy;
118 } SIZE;
119 typedef struct tagSIZE *PSIZE;
120 typedef struct tagSIZE *LPSIZE;
121 typedef struct tagSIZEL {
122     LONG cx;
123     LONG cy;
124 } SIZEL;
125 typedef struct tagSIZEL *PSIZEL;
126 typedef struct tagSIZEL *LPSIZEL;
127 #endif
128 
129 #ifndef _PALETTEENTRY_DEFINED
130 #define _PALETTEENTRY_DEFINED
131 
132 typedef struct tagPALETTEENTRY {
133     BYTE peRed;
134     BYTE peGreen;
135     BYTE peBlue;
136     BYTE peFlags;
137 } PALETTEENTRY;
138 typedef struct tagPALETTEENTRY *PPALETTEENTRY;
139 typedef struct tagPALETTEENTRY *LPPALETTEENTRY;
140 #endif
141 
142 #ifndef _LOGPALETTE_DEFINED
143 #define _LOGPALETTE_DEFINED
144 
145 typedef struct tagLOGPALETTE {
146     WORD palVersion;
147     WORD palNumEntries;
148     PALETTEENTRY palPalEntry[1];
149 } LOGPALETTE;
150 typedef struct tagLOGPALETTE *PLOGPALETTE;
151 typedef struct tagLOGPALETTE *LPLOGPALETTE;
152 #endif
153 
154 #ifndef _WINDEF_
155 typedef const RECTL *LPCRECTL;
156 typedef struct tagRECT {
157     LONG left;
158     LONG top;
159     LONG right;
160     LONG bottom;
161 } RECT;
162 typedef struct tagRECT *PRECT;
163 typedef struct tagRECT *LPRECT;
164 typedef const RECT *LPCRECT;
165 #endif
166 
167 #if 0
168 typedef FMTID *REFFMTID;
169 #endif
170 
171 #ifndef _ROTFLAGS_DEFINED
172 #define _ROTFLAGS_DEFINED
173 #define ROTFLAGS_REGISTRATIONKEEPSALIVE 0x1
174 #define ROTFLAGS_ALLOWANYCLIENT 0x2
175 #endif
176 
177 #ifndef _ROT_COMPARE_MAX_DEFINED
178 #define _ROT_COMPARE_MAX_DEFINED
179 #define ROT_COMPARE_MAX 2048
180 #endif
181 
182 typedef enum tagDVASPECT {
183     DVASPECT_CONTENT = 1,
184     DVASPECT_THUMBNAIL = 2,
185     DVASPECT_ICON = 4,
186     DVASPECT_DOCPRINT = 8
187 } DVASPECT;
188 
189 typedef enum tagSTGC {
190     STGC_DEFAULT = 0,
191     STGC_OVERWRITE = 1,
192     STGC_ONLYIFCURRENT = 2,
193     STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4,
194     STGC_CONSOLIDATE = 8
195 } STGC;
196 
197 typedef enum tagSTGMOVE {
198     STGMOVE_MOVE = 0,
199     STGMOVE_COPY = 1,
200     STGMOVE_SHALLOWCOPY = 2
201 } STGMOVE;
202 
203 typedef enum tagSTATFLAG {
204     STATFLAG_DEFAULT = 0,
205     STATFLAG_NONAME = 1,
206     STATFLAG_NOOPEN = 2
207 } STATFLAG;
208 typedef void *HCONTEXT;
209 
210 #ifndef _LCID_DEFINED
211 #define _LCID_DEFINED
212 typedef DWORD LCID;
213 #endif
214 
215 #ifndef _LANGID_DEFINED
216 #define _LANGID_DEFINED
217 typedef USHORT LANGID;
218 #endif
219 
220 #define WDT_INPROC_CALL (0x48746457)
221 
222 #define WDT_REMOTE_CALL (0x52746457)
223 
224 #define WDT_INPROC64_CALL (0x50746457)
225 
226 
227 typedef struct _userCLIPFORMAT {
228     LONG fContext;
229     union __WIDL_wtypes_generated_name_00000001 {
230         DWORD dwValue;
231         wchar_t *pwszName;
232     } u;
233 } userCLIPFORMAT;
234 
235 typedef userCLIPFORMAT *wireCLIPFORMAT;
236 typedef WORD CLIPFORMAT;
237 
238 typedef struct _GDI_NONREMOTE {
239     LONG fContext;
240     union __WIDL_wtypes_generated_name_00000002 {
241         LONG hInproc;
242         DWORD_BLOB *hRemote;
243     } u;
244 } GDI_NONREMOTE;
245 
246 typedef struct _userHGLOBAL {
247     LONG fContext;
248     union __WIDL_wtypes_generated_name_00000003 {
249         LONG hInproc;
250         FLAGGED_BYTE_BLOB *hRemote;
251         INT64 hInproc64;
252     } u;
253 } userHGLOBAL;
254 
255 typedef userHGLOBAL *wireHGLOBAL;
256 
257 typedef struct _userHMETAFILE {
258     LONG fContext;
259     union __WIDL_wtypes_generated_name_00000004 {
260         LONG hInproc;
261         BYTE_BLOB *hRemote;
262         INT64 hInproc64;
263     } u;
264 } userHMETAFILE;
265 
266 typedef struct _remoteMETAFILEPICT {
267     LONG mm;
268     LONG xExt;
269     LONG yExt;
270     userHMETAFILE *hMF;
271 } remoteMETAFILEPICT;
272 
273 typedef struct _userHMETAFILEPICT {
274     LONG fContext;
275     union __WIDL_wtypes_generated_name_00000005 {
276         LONG hInproc;
277         remoteMETAFILEPICT *hRemote;
278         INT64 hInproc64;
279     } u;
280 } userHMETAFILEPICT;
281 
282 typedef struct _userHENHMETAFILE {
283     LONG fContext;
284     union __WIDL_wtypes_generated_name_00000006 {
285         LONG hInproc;
286         BYTE_BLOB *hRemote;
287         INT64 hInproc64;
288     } u;
289 } userHENHMETAFILE;
290 
291 typedef struct _userBITMAP {
292     LONG bmType;
293     LONG bmWidth;
294     LONG bmHeight;
295     LONG bmWidthBytes;
296     WORD bmPlanes;
297     WORD bmBitsPixel;
298     ULONG cbSize;
299     byte pBuffer[1];
300 } userBITMAP;
301 
302 typedef struct _userHBITMAP {
303     LONG fContext;
304     union __WIDL_wtypes_generated_name_00000007 {
305         LONG hInproc;
306         userBITMAP *hRemote;
307         INT64 hInproc64;
308     } u;
309 } userHBITMAP;
310 
311 typedef struct _userHPALETTE {
312     LONG fContext;
313     union __WIDL_wtypes_generated_name_00000008 {
314         LONG hInproc;
315         LOGPALETTE *hRemote;
316         INT64 hInproc64;
317     } u;
318 } userHPALETTE;
319 
320 typedef struct _RemotableHandle {
321     LONG fContext;
322     union __WIDL_wtypes_generated_name_00000009 {
323         LONG hInproc;
324         LONG hRemote;
325     } u;
326 } RemotableHandle;
327 
328 typedef RemotableHandle *wireHWND;
329 typedef RemotableHandle *wireHMENU;
330 typedef RemotableHandle *wireHACCEL;
331 typedef RemotableHandle *wireHBRUSH;
332 typedef RemotableHandle *wireHFONT;
333 typedef RemotableHandle *wireHDC;
334 typedef RemotableHandle *wireHICON;
335 typedef RemotableHandle *wireHRGN;
336 typedef RemotableHandle *wireHMONITOR;
337 
338 #if 0
339 typedef void *HWND;
340 typedef void *HMENU;
341 typedef void *HACCEL;
342 typedef void *HBRUSH;
343 typedef void *HFONT;
344 typedef void *HDC;
345 typedef void *HICON;
346 typedef void *HRGN;
347 typedef void *HMONITOR;
348 
349 #ifndef _HCURSOR_DEFINED
350 #define _HCURSOR_DEFINED
351 typedef HICON HCURSOR;
352 #endif
353 
354 #endif
355 
356 #ifndef _TEXTMETRIC_DEFINED
357 #define _TEXTMETRIC_DEFINED
358 
359 typedef struct tagTEXTMETRICW {
360     LONG tmHeight;
361     LONG tmAscent;
362     LONG tmDescent;
363     LONG tmInternalLeading;
364     LONG tmExternalLeading;
365     LONG tmAveCharWidth;
366     LONG tmMaxCharWidth;
367     LONG tmWeight;
368     LONG tmOverhang;
369     LONG tmDigitizedAspectX;
370     LONG tmDigitizedAspectY;
371     WCHAR tmFirstChar;
372     WCHAR tmLastChar;
373     WCHAR tmDefaultChar;
374     WCHAR tmBreakChar;
375     BYTE tmItalic;
376     BYTE tmUnderlined;
377     BYTE tmStruckOut;
378     BYTE tmPitchAndFamily;
379     BYTE tmCharSet;
380 } TEXTMETRICW;
381 typedef struct tagTEXTMETRICW *PTEXTMETRICW;
382 typedef struct tagTEXTMETRICW *LPTEXTMETRICW;
383 #endif
384 
385 #ifndef _WIN32
386 #ifndef WINAPI
387 typedef struct tagMSG {
388     HWND hwnd;
389     UINT message;
390     WPARAM wParam;
391     LPARAM lParam;
392     DWORD time;
393     POINT pt;
394 } MSG;
395 typedef struct tagMSG *PMSG;
396 typedef struct tagMSG *NPMSG;
397 typedef struct tagMSG *LPMSG;
398 #endif
399 #endif
400 
401 typedef userHBITMAP *wireHBITMAP;
402 typedef userHPALETTE *wireHPALETTE;
403 typedef userHENHMETAFILE *wireHENHMETAFILE;
404 typedef userHMETAFILE *wireHMETAFILE;
405 typedef userHMETAFILEPICT *wireHMETAFILEPICT;
406 
407 #if 0
408 typedef void *HGLOBAL;
409 typedef HGLOBAL HLOCAL;
410 typedef void *HBITMAP;
411 typedef void *HPALETTE;
412 typedef void *HENHMETAFILE;
413 typedef void *HMETAFILE;
414 #endif
415 
416 typedef void *HMETAFILEPICT;
417 
418 #endif  /* __IWinTypes_INTERFACE_DEFINED__ */
419 
420 
421 typedef double DATE;
422 
423 #ifndef _tagCY_DEFINED
424 #define _tagCY_DEFINED
425 #define _CY_DEFINED
426 
427 #if 0
428 typedef struct tagCY {
429     LONGLONG int64;
430 } CY;
431 #else
432 typedef union tagCY {
433   __C89_NAMELESS struct {
434     unsigned __LONG32 Lo;
435     __LONG32 Hi;
436   } DUMMYSTRUCTNAME;
437   LONGLONG int64;
438 } CY;
439 #endif
440 #endif
441 
442 typedef CY *LPCY;
443 
444 #if 0
445 typedef struct tagDEC {
446     USHORT wReserved;
447     BYTE scale;
448     BYTE sign;
449     ULONG Hi32;
450     ULONGLONG Lo64;
451 } DECIMAL;
452 #else
453 typedef struct tagDEC {
454   USHORT wReserved;
455   __C89_NAMELESS union {
456     __C89_NAMELESS struct {
457       BYTE scale;
458       BYTE sign;
459     } DUMMYSTRUCTNAME;
460     USHORT signscale;
461   } DUMMYUNIONNAME;
462   ULONG Hi32;
463   __C89_NAMELESS union {
464     __C89_NAMELESS struct {
465       ULONG Lo32;
466       ULONG Mid32;
467     } DUMMYSTRUCTNAME2;
468     ULONGLONG Lo64;
469   } DUMMYUNIONNAME2;
470 } DECIMAL;
471 
472 #define DECIMAL_NEG ((BYTE)0x80)
473 #define DECIMAL_SETZERO(dec) { (dec).Lo64 = 0; (dec).Hi32 = 0; (dec).signscale = 0; }
474 #endif
475 
476 typedef DECIMAL *LPDECIMAL;
477 
478 typedef FLAGGED_WORD_BLOB *wireBSTR;
479 typedef OLECHAR *BSTR;
480 
481 typedef BSTR *LPBSTR;
482 
483 typedef short VARIANT_BOOL;
484 #if 0
485 typedef VARIANT_BOOL _VARIANT_BOOL;
486 #else
487 #define _VARIANT_BOOL /##/
488 #endif
489 
490 #ifndef _tagBSTRBLOB_DEFINED
491 #define _tagBSTRBLOB_DEFINED
492 
493 typedef struct tagBSTRBLOB {
494     ULONG cbSize;
495     BYTE *pData;
496 } BSTRBLOB;
497 typedef struct tagBSTRBLOB *LPBSTRBLOB;
498 #endif
499 
500 #define VARIANT_TRUE ((VARIANT_BOOL)-1)
501 #define VARIANT_FALSE ((VARIANT_BOOL)0)
502 
503 typedef struct tagCLIPDATA {
504     ULONG cbSize;
505     LONG ulClipFmt;
506     BYTE *pClipData;
507 } CLIPDATA;
508 
509 #define CBPCLIPDATA(clipdata) ((clipdata).cbSize - sizeof((clipdata).ulClipFmt))
510 
511 typedef unsigned short VARTYPE;
512 
513 enum VARENUM {
514     VT_EMPTY = 0,
515     VT_NULL = 1,
516     VT_I2 = 2,
517     VT_I4 = 3,
518     VT_R4 = 4,
519     VT_R8 = 5,
520     VT_CY = 6,
521     VT_DATE = 7,
522     VT_BSTR = 8,
523     VT_DISPATCH = 9,
524     VT_ERROR = 10,
525     VT_BOOL = 11,
526     VT_VARIANT = 12,
527     VT_UNKNOWN = 13,
528     VT_DECIMAL = 14,
529     VT_I1 = 16,
530     VT_UI1 = 17,
531     VT_UI2 = 18,
532     VT_UI4 = 19,
533     VT_I8 = 20,
534     VT_UI8 = 21,
535     VT_INT = 22,
536     VT_UINT = 23,
537     VT_VOID = 24,
538     VT_HRESULT = 25,
539     VT_PTR = 26,
540     VT_SAFEARRAY = 27,
541     VT_CARRAY = 28,
542     VT_USERDEFINED = 29,
543     VT_LPSTR = 30,
544     VT_LPWSTR = 31,
545     VT_RECORD = 36,
546     VT_INT_PTR = 37,
547     VT_UINT_PTR = 38,
548     VT_FILETIME = 64,
549     VT_BLOB = 65,
550     VT_STREAM = 66,
551     VT_STORAGE = 67,
552     VT_STREAMED_OBJECT = 68,
553     VT_STORED_OBJECT = 69,
554     VT_BLOB_OBJECT = 70,
555     VT_CF = 71,
556     VT_CLSID = 72,
557     VT_VERSIONED_STREAM = 73,
558     VT_BSTR_BLOB = 0xfff,
559     VT_VECTOR = 0x1000,
560     VT_ARRAY = 0x2000,
561     VT_BYREF = 0x4000,
562     VT_RESERVED = 0x8000,
563     VT_ILLEGAL = 0xffff,
564     VT_ILLEGALMASKED = 0xfff,
565     VT_TYPEMASK = 0xfff
566 };
567 
568 typedef ULONG PROPID;
569 
570 #ifndef PROPERTYKEY_DEFINED
571 #define PROPERTYKEY_DEFINED
572 
573 typedef struct _tagpropertykey {
574     GUID fmtid;
575     DWORD pid;
576 } PROPERTYKEY;
577 #endif
578 
579 typedef struct tagCSPLATFORM {
580     DWORD dwPlatformId;
581     DWORD dwVersionHi;
582     DWORD dwVersionLo;
583     DWORD dwProcessorArch;
584 } CSPLATFORM;
585 
586 typedef struct tagQUERYCONTEXT {
587     DWORD dwContext;
588     CSPLATFORM Platform;
589     LCID Locale;
590     DWORD dwVersionHi;
591     DWORD dwVersionLo;
592 } QUERYCONTEXT;
593 
594 typedef enum tagTYSPEC {
595     TYSPEC_CLSID = 0,
596     TYSPEC_FILEEXT = 1,
597     TYSPEC_MIMETYPE = 2,
598     TYSPEC_FILENAME = 3,
599     TYSPEC_PROGID = 4,
600     TYSPEC_PACKAGENAME = 5,
601     TYSPEC_OBJECTID = 6
602 } TYSPEC;
603 
604 typedef struct __WIDL_wtypes_generated_name_0000000B {
605     DWORD tyspec;
606     union __WIDL_wtypes_generated_name_0000000A {
607         CLSID clsid;
608         LPOLESTR pFileExt;
609         LPOLESTR pMimeType;
610         LPOLESTR pProgId;
611         LPOLESTR pFileName;
612         struct {
613             LPOLESTR pPackageName;
614             GUID PolicyId;
615         } ByName;
616         struct {
617             GUID ObjectId;
618             GUID PolicyId;
619         } ByObjectId;
620     } tagged_union;
621 } uCLSSPEC;
622 /* Begin additional prototypes for all interfaces */
623 
624 
625 /* End additional prototypes */
626 
627 #ifdef __cplusplus
628 }
629 #endif
630 
631 #endif /* __wtypes_h__ */
632