Home | History | Annotate | Download | only in include
      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