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