master
  1/*** Autogenerated by WIDL 10.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
 26extern "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
 41extern RPC_IF_HANDLE IWinTypes_v0_1_c_ifspec;
 42extern RPC_IF_HANDLE IWinTypes_v0_1_s_ifspec;
 43typedef struct tagRemHGLOBAL {
 44    LONG fNullHGlobal;
 45    ULONG cbData;
 46    byte data[1];
 47} RemHGLOBAL;
 48
 49typedef struct tagRemHMETAFILEPICT {
 50    LONG mm;
 51    LONG xExt;
 52    LONG yExt;
 53    ULONG cbData;
 54    byte data[1];
 55} RemHMETAFILEPICT;
 56
 57typedef struct tagRemHENHMETAFILE {
 58    ULONG cbData;
 59    byte data[1];
 60} RemHENHMETAFILE;
 61typedef struct tagRemHBITMAP {
 62    ULONG cbData;
 63    byte data[1];
 64} RemHBITMAP;
 65
 66typedef struct tagRemHPALETTE {
 67    ULONG cbData;
 68    byte data[1];
 69} RemHPALETTE;
 70
 71typedef struct tagRemBRUSH {
 72    ULONG cbData;
 73    byte data[1];
 74} RemHBRUSH;
 75#if 0
 76typedef UINT_PTR WPARAM;
 77typedef LONG_PTR LPARAM;
 78typedef LONG_PTR LRESULT;
 79typedef void *HMODULE;
 80typedef void *HINSTANCE;
 81typedef void *HTASK;
 82typedef void *HKEY;
 83typedef void *HDESK;
 84typedef void *HMF;
 85typedef void *HEMF;
 86typedef void *HPEN;
 87typedef void *HRSRC;
 88typedef void *HSTR;
 89typedef void *HWINSTA;
 90typedef void *HKL;
 91typedef void *HGDIOBJ;
 92typedef HANDLE HDWP;
 93typedef INT HFILE;
 94typedef DWORD COLORREF;
 95typedef DWORD *LPCOLORREF;
 96typedef struct _RECTL {
 97    LONG left;
 98    LONG top;
 99    LONG right;
100    LONG bottom;
101} RECTL;
102typedef struct _RECTL *PRECTL;
103typedef struct _RECTL *LPRECTL;
104typedef struct tagPOINT {
105    LONG x;
106    LONG y;
107} POINT;
108typedef struct tagPOINT *PPOINT;
109typedef struct tagPOINT *LPPOINT;
110typedef struct _POINTL {
111    LONG x;
112    LONG y;
113} POINTL;
114typedef struct _POINTL *PPOINTL;
115typedef struct tagSIZE {
116    LONG cx;
117    LONG cy;
118} SIZE;
119typedef struct tagSIZE *PSIZE;
120typedef struct tagSIZE *LPSIZE;
121typedef struct tagSIZEL {
122    LONG cx;
123    LONG cy;
124} SIZEL;
125typedef struct tagSIZEL *PSIZEL;
126typedef struct tagSIZEL *LPSIZEL;
127#endif
128
129#ifndef _PALETTEENTRY_DEFINED
130#define _PALETTEENTRY_DEFINED
131
132typedef struct tagPALETTEENTRY {
133    BYTE peRed;
134    BYTE peGreen;
135    BYTE peBlue;
136    BYTE peFlags;
137} PALETTEENTRY;
138typedef struct tagPALETTEENTRY *PPALETTEENTRY;
139typedef struct tagPALETTEENTRY *LPPALETTEENTRY;
140#endif
141
142#ifndef _LOGPALETTE_DEFINED
143#define _LOGPALETTE_DEFINED
144
145typedef struct tagLOGPALETTE {
146    WORD palVersion;
147    WORD palNumEntries;
148    PALETTEENTRY palPalEntry[1];
149} LOGPALETTE;
150typedef struct tagLOGPALETTE *PLOGPALETTE;
151typedef struct tagLOGPALETTE *LPLOGPALETTE;
152#endif
153
154#ifndef _WINDEF_
155typedef const RECTL *LPCRECTL;
156typedef struct tagRECT {
157    LONG left;
158    LONG top;
159    LONG right;
160    LONG bottom;
161} RECT;
162typedef struct tagRECT *PRECT;
163typedef struct tagRECT *LPRECT;
164typedef const RECT *LPCRECT;
165#endif
166
167#if 0
168typedef 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
182typedef enum tagDVASPECT {
183    DVASPECT_CONTENT = 1,
184    DVASPECT_THUMBNAIL = 2,
185    DVASPECT_ICON = 4,
186    DVASPECT_DOCPRINT = 8
187} DVASPECT;
188
189typedef 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
197typedef enum tagSTGMOVE {
198    STGMOVE_MOVE = 0,
199    STGMOVE_COPY = 1,
200    STGMOVE_SHALLOWCOPY = 2
201} STGMOVE;
202
203typedef enum tagSTATFLAG {
204    STATFLAG_DEFAULT = 0,
205    STATFLAG_NONAME = 1,
206    STATFLAG_NOOPEN = 2
207} STATFLAG;
208typedef void *HCONTEXT;
209
210#ifndef _LCID_DEFINED
211#define _LCID_DEFINED
212typedef DWORD LCID;
213#endif
214
215#ifndef _LANGID_DEFINED
216#define _LANGID_DEFINED
217typedef 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
227typedef struct _userCLIPFORMAT {
228    LONG fContext;
229    union __WIDL_wtypes_generated_name_00000001 {
230        DWORD dwValue;
231        wchar_t *pwszName;
232    } u;
233} userCLIPFORMAT;
234
235typedef userCLIPFORMAT *wireCLIPFORMAT;
236typedef WORD CLIPFORMAT;
237
238typedef 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
246typedef 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
255typedef userHGLOBAL *wireHGLOBAL;
256
257typedef 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
266typedef struct _remoteMETAFILEPICT {
267    LONG mm;
268    LONG xExt;
269    LONG yExt;
270    userHMETAFILE *hMF;
271} remoteMETAFILEPICT;
272
273typedef 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
282typedef 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
291typedef 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
302typedef 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
311typedef 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
320typedef struct _RemotableHandle {
321    LONG fContext;
322    union __WIDL_wtypes_generated_name_00000009 {
323        LONG hInproc;
324        LONG hRemote;
325    } u;
326} RemotableHandle;
327
328typedef RemotableHandle *wireHWND;
329typedef RemotableHandle *wireHMENU;
330typedef RemotableHandle *wireHACCEL;
331typedef RemotableHandle *wireHBRUSH;
332typedef RemotableHandle *wireHFONT;
333typedef RemotableHandle *wireHDC;
334typedef RemotableHandle *wireHICON;
335typedef RemotableHandle *wireHRGN;
336typedef RemotableHandle *wireHMONITOR;
337
338#if 0
339typedef void *HWND;
340typedef void *HMENU;
341typedef void *HACCEL;
342typedef void *HBRUSH;
343typedef void *HFONT;
344typedef void *HDC;
345typedef void *HICON;
346typedef void *HRGN;
347typedef void *HMONITOR;
348
349#ifndef _HCURSOR_DEFINED
350#define _HCURSOR_DEFINED
351typedef HICON HCURSOR;
352#endif
353
354#endif
355
356#ifndef _TEXTMETRIC_DEFINED
357#define _TEXTMETRIC_DEFINED
358
359typedef 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;
381typedef struct tagTEXTMETRICW *PTEXTMETRICW;
382typedef struct tagTEXTMETRICW *LPTEXTMETRICW;
383#endif
384
385#ifndef _WIN32
386#ifndef WINAPI
387typedef struct tagMSG {
388    HWND hwnd;
389    UINT message;
390    WPARAM wParam;
391    LPARAM lParam;
392    DWORD time;
393    POINT pt;
394} MSG;
395typedef struct tagMSG *PMSG;
396typedef struct tagMSG *NPMSG;
397typedef struct tagMSG *LPMSG;
398#endif
399#endif
400
401typedef userHBITMAP *wireHBITMAP;
402typedef userHPALETTE *wireHPALETTE;
403typedef userHENHMETAFILE *wireHENHMETAFILE;
404typedef userHMETAFILE *wireHMETAFILE;
405typedef userHMETAFILEPICT *wireHMETAFILEPICT;
406
407#if 0
408typedef void *HGLOBAL;
409typedef HGLOBAL HLOCAL;
410typedef void *HBITMAP;
411typedef void *HPALETTE;
412typedef void *HENHMETAFILE;
413typedef void *HMETAFILE;
414#endif
415
416typedef void *HMETAFILEPICT;
417
418#endif  /* __IWinTypes_INTERFACE_DEFINED__ */
419
420
421typedef double DATE;
422
423#ifndef _tagCY_DEFINED
424#define _tagCY_DEFINED
425#define _CY_DEFINED
426
427#if 0
428typedef struct tagCY {
429    LONGLONG int64;
430} CY;
431#else
432typedef 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
442typedef CY *LPCY;
443
444#if 0
445typedef struct tagDEC {
446    USHORT wReserved;
447    BYTE scale;
448    BYTE sign;
449    ULONG Hi32;
450    ULONGLONG Lo64;
451} DECIMAL;
452#else
453typedef 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
476typedef DECIMAL *LPDECIMAL;
477
478typedef FLAGGED_WORD_BLOB *wireBSTR;
479typedef OLECHAR *BSTR;
480
481typedef BSTR *LPBSTR;
482
483typedef short VARIANT_BOOL;
484#if 0
485typedef VARIANT_BOOL _VARIANT_BOOL;
486#else
487#define _VARIANT_BOOL /##/
488#endif
489
490#ifndef _tagBSTRBLOB_DEFINED
491#define _tagBSTRBLOB_DEFINED
492
493typedef struct tagBSTRBLOB {
494    ULONG cbSize;
495    BYTE *pData;
496} BSTRBLOB;
497typedef struct tagBSTRBLOB *LPBSTRBLOB;
498#endif
499
500#define VARIANT_TRUE ((VARIANT_BOOL)-1)
501#define VARIANT_FALSE ((VARIANT_BOOL)0)
502
503typedef struct tagCLIPDATA {
504    ULONG cbSize;
505    LONG ulClipFmt;
506    BYTE *pClipData;
507} CLIPDATA;
508
509#define CBPCLIPDATA(clipdata) ((clipdata).cbSize - sizeof((clipdata).ulClipFmt))
510
511typedef unsigned short VARTYPE;
512
513enum 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
568typedef ULONG PROPID;
569
570#ifndef PROPERTYKEY_DEFINED
571#define PROPERTYKEY_DEFINED
572
573typedef struct _tagpropertykey {
574    GUID fmtid;
575    DWORD pid;
576} PROPERTYKEY;
577#endif
578
579typedef struct tagCSPLATFORM {
580    DWORD dwPlatformId;
581    DWORD dwVersionHi;
582    DWORD dwVersionLo;
583    DWORD dwProcessorArch;
584} CSPLATFORM;
585
586typedef struct tagQUERYCONTEXT {
587    DWORD dwContext;
588    CSPLATFORM Platform;
589    LCID Locale;
590    DWORD dwVersionHi;
591    DWORD dwVersionLo;
592} QUERYCONTEXT;
593
594typedef 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
604typedef 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__ */