| cpp_quote("/**") |
| cpp_quote(" * This file is part of the mingw-w64 runtime package.") |
| cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.") |
| cpp_quote(" */") |
| cpp_quote("") |
| |
| import "wtypesbase.idl"; |
| |
| cpp_quote("") |
| [uuid (D3980A60-910c-1068-9341-00dd010f2f1c), version (0.1), pointer_default (unique)] |
| interface IWinTypes { |
| typedef struct tagRemHGLOBAL { |
| long fNullHGlobal; |
| unsigned long cbData; |
| [size_is (cbData)] byte data[]; |
| } RemHGLOBAL; |
| |
| cpp_quote("") |
| typedef struct tagRemHMETAFILEPICT { |
| long mm; |
| long xExt; |
| long yExt; |
| unsigned long cbData; |
| [size_is (cbData)] byte data[]; |
| } RemHMETAFILEPICT; |
| |
| cpp_quote("") |
| typedef struct tagRemHENHMETAFILE { |
| unsigned long cbData; |
| [size_is (cbData)] byte data[]; |
| } RemHENHMETAFILE; |
| typedef struct tagRemHBITMAP { |
| unsigned long cbData; |
| [size_is (cbData)] byte data[]; |
| } RemHBITMAP; |
| |
| cpp_quote("") |
| typedef struct tagRemHPALETTE { |
| unsigned long cbData; |
| [size_is (cbData)] byte data[]; |
| } RemHPALETTE; |
| |
| cpp_quote("") |
| typedef struct tagRemBRUSH { |
| unsigned long cbData; |
| [size_is (cbData)] byte data[]; |
| } RemHBRUSH; |
| |
| cpp_quote("#if 0") |
| typedef UINT_PTR WPARAM; |
| typedef LONG_PTR LPARAM; |
| typedef LONG_PTR LRESULT; |
| |
| #define DECLARE_WIREM_HANDLE(name) typedef [wire_marshal (wire ## name)] void *name |
| #define DECLARE_HANDLE(name) typedef void *name |
| |
| DECLARE_HANDLE (HMODULE); |
| DECLARE_HANDLE (HINSTANCE); |
| DECLARE_HANDLE (HTASK); |
| DECLARE_HANDLE (HKEY); |
| DECLARE_HANDLE (HDESK); |
| DECLARE_HANDLE (HMF); |
| DECLARE_HANDLE (HEMF); |
| DECLARE_HANDLE (HPEN); |
| DECLARE_HANDLE (HRSRC); |
| DECLARE_HANDLE (HSTR); |
| DECLARE_HANDLE (HWINSTA); |
| DECLARE_HANDLE (HKL); |
| DECLARE_HANDLE (HGDIOBJ); |
| typedef HANDLE HDWP; |
| typedef INT HFILE; |
| |
| typedef DWORD COLORREF; |
| typedef DWORD *LPCOLORREF; |
| |
| typedef struct _RECTL { |
| LONG left; |
| LONG top; |
| LONG right; |
| LONG bottom; |
| } RECTL,*PRECTL,*LPRECTL; |
| |
| typedef struct tagPOINT { |
| LONG x; |
| LONG y; |
| } POINT,*PPOINT,*LPPOINT; |
| |
| typedef struct _POINTL { |
| LONG x; |
| LONG y; |
| } POINTL,*PPOINTL; |
| |
| typedef struct tagSIZE { |
| LONG cx; |
| LONG cy; |
| } SIZE,*PSIZE,*LPSIZE; |
| |
| typedef struct tagSIZEL { |
| LONG cx; |
| LONG cy; |
| } SIZEL,*PSIZEL,*LPSIZEL; |
| |
| cpp_quote("#endif") |
| |
| cpp_quote("") |
| cpp_quote("#ifndef _PALETTEENTRY_DEFINED") |
| cpp_quote("#define _PALETTEENTRY_DEFINED") |
| cpp_quote("") |
| typedef struct tagPALETTEENTRY { |
| BYTE peRed; |
| BYTE peGreen; |
| BYTE peBlue; |
| BYTE peFlags; |
| } PALETTEENTRY,*PPALETTEENTRY,*LPPALETTEENTRY; |
| cpp_quote("#endif") |
| cpp_quote("") |
| cpp_quote("#ifndef _LOGPALETTE_DEFINED") |
| cpp_quote("#define _LOGPALETTE_DEFINED") |
| cpp_quote("") |
| typedef struct tagLOGPALETTE { |
| WORD palVersion; |
| WORD palNumEntries; |
| [size_is (palNumEntries)] PALETTEENTRY palPalEntry[]; |
| } LOGPALETTE,*PLOGPALETTE,*LPLOGPALETTE; |
| cpp_quote("#endif") |
| cpp_quote("") |
| cpp_quote("#ifndef _WINDEF_") |
| typedef const RECTL *LPCRECTL; |
| typedef struct tagRECT { |
| LONG left; |
| LONG top; |
| LONG right; |
| LONG bottom; |
| } RECT,*PRECT,*LPRECT; |
| typedef const RECT *LPCRECT; |
| cpp_quote("#endif") |
| |
| cpp_quote("") |
| cpp_quote("#if 0") |
| typedef FMTID *REFFMTID; |
| cpp_quote("#endif") |
| |
| cpp_quote("") |
| cpp_quote("#ifndef _ROTFLAGS_DEFINED") |
| cpp_quote("#define _ROTFLAGS_DEFINED") |
| cpp_quote("#define ROTFLAGS_REGISTRATIONKEEPSALIVE 0x1") |
| cpp_quote("#define ROTFLAGS_ALLOWANYCLIENT 0x2") |
| cpp_quote("#endif") |
| |
| cpp_quote("") |
| cpp_quote("#ifndef _ROT_COMPARE_MAX_DEFINED") |
| cpp_quote("#define _ROT_COMPARE_MAX_DEFINED") |
| cpp_quote("#define ROT_COMPARE_MAX 2048") |
| cpp_quote("#endif") |
| |
| cpp_quote("") |
| typedef enum tagDVASPECT { |
| DVASPECT_CONTENT = 1, |
| DVASPECT_THUMBNAIL = 2, |
| DVASPECT_ICON = 4, |
| DVASPECT_DOCPRINT = 8 |
| } DVASPECT; |
| |
| cpp_quote("") |
| typedef enum tagSTGC { |
| STGC_DEFAULT = 0, |
| STGC_OVERWRITE = 1, |
| STGC_ONLYIFCURRENT = 2, |
| STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4, |
| STGC_CONSOLIDATE = 8 |
| } STGC; |
| |
| cpp_quote("") |
| typedef enum tagSTGMOVE { |
| STGMOVE_MOVE = 0, |
| STGMOVE_COPY = 1, |
| STGMOVE_SHALLOWCOPY = 2 |
| } STGMOVE; |
| |
| cpp_quote("") |
| typedef enum tagSTATFLAG { |
| STATFLAG_DEFAULT = 0, |
| STATFLAG_NONAME = 1, |
| STATFLAG_NOOPEN = 2 |
| } STATFLAG; |
| typedef [context_handle] void *HCONTEXT; |
| cpp_quote("") |
| cpp_quote("#ifndef _LCID_DEFINED") |
| cpp_quote("#define _LCID_DEFINED") |
| typedef DWORD LCID; |
| cpp_quote("#endif") |
| |
| cpp_quote("") |
| cpp_quote("#ifndef _LANGID_DEFINED") |
| cpp_quote("#define _LANGID_DEFINED") |
| typedef USHORT LANGID; |
| cpp_quote("#endif") |
| |
| cpp_quote("") |
| const unsigned long WDT_INPROC_CALL = 0x48746457; |
| const unsigned long WDT_REMOTE_CALL = 0x52746457; |
| const unsigned long WDT_INPROC64_CALL = 0x50746457; |
| |
| cpp_quote("") |
| typedef union _userCLIPFORMAT switch (long fContext) u { |
| case WDT_INPROC_CALL: DWORD dwValue; |
| case WDT_REMOTE_CALL: [string] wchar_t *pwszName; |
| } userCLIPFORMAT; |
| cpp_quote("") |
| typedef [unique] userCLIPFORMAT *wireCLIPFORMAT; |
| typedef [wire_marshal (wireCLIPFORMAT)] WORD CLIPFORMAT; |
| cpp_quote("") |
| typedef union _GDI_NONREMOTE switch (long fContext) u { |
| case WDT_INPROC_CALL: long hInproc; |
| case WDT_REMOTE_CALL: DWORD_BLOB *hRemote; |
| } GDI_NONREMOTE; |
| cpp_quote("") |
| typedef union _userHGLOBAL switch (long fContext) u { |
| case WDT_INPROC_CALL: long hInproc; |
| case WDT_REMOTE_CALL: FLAGGED_BYTE_BLOB *hRemote; |
| case WDT_INPROC64_CALL: __int64 hInproc64; |
| } userHGLOBAL; |
| cpp_quote("") |
| typedef [unique] userHGLOBAL *wireHGLOBAL; |
| cpp_quote("") |
| typedef union _userHMETAFILE switch (long fContext) u { |
| case WDT_INPROC_CALL: long hInproc; |
| case WDT_REMOTE_CALL: BYTE_BLOB *hRemote; |
| case WDT_INPROC64_CALL: __int64 hInproc64; |
| } userHMETAFILE; |
| cpp_quote("") |
| typedef struct _remoteMETAFILEPICT { |
| long mm; |
| long xExt; |
| long yExt; |
| userHMETAFILE *hMF; |
| } remoteMETAFILEPICT; |
| cpp_quote("") |
| typedef union _userHMETAFILEPICT switch (long fContext) u { |
| case WDT_INPROC_CALL: long hInproc; |
| case WDT_REMOTE_CALL: remoteMETAFILEPICT *hRemote; |
| case WDT_INPROC64_CALL: __int64 hInproc64; |
| } userHMETAFILEPICT; |
| cpp_quote("") |
| typedef union _userHENHMETAFILE switch (long fContext) u { |
| case WDT_INPROC_CALL: long hInproc; |
| case WDT_REMOTE_CALL: BYTE_BLOB *hRemote; |
| case WDT_INPROC64_CALL: __int64 hInproc64; |
| } userHENHMETAFILE; |
| cpp_quote("") |
| typedef struct _userBITMAP { |
| LONG bmType; |
| LONG bmWidth; |
| LONG bmHeight; |
| LONG bmWidthBytes; |
| WORD bmPlanes; |
| WORD bmBitsPixel; |
| ULONG cbSize; |
| [size_is (cbSize)] byte pBuffer[]; |
| } userBITMAP; |
| cpp_quote("") |
| typedef union _userHBITMAP switch (long fContext) u { |
| case WDT_INPROC_CALL: long hInproc; |
| case WDT_REMOTE_CALL: userBITMAP *hRemote; |
| case WDT_INPROC64_CALL: __int64 hInproc64; |
| } userHBITMAP; |
| cpp_quote("") |
| typedef union _userHPALETTE switch (long fContext) u { |
| case WDT_INPROC_CALL: long hInproc; |
| case WDT_REMOTE_CALL: LOGPALETTE *hRemote; |
| case WDT_INPROC64_CALL: __int64 hInproc64; |
| } userHPALETTE; |
| cpp_quote("") |
| typedef union _RemotableHandle switch (long fContext) u { |
| case WDT_INPROC_CALL: long hInproc; |
| case WDT_REMOTE_CALL: long hRemote; |
| } RemotableHandle; |
| cpp_quote("") |
| typedef [unique] RemotableHandle *wireHWND; |
| typedef [unique] RemotableHandle *wireHMENU; |
| typedef [unique] RemotableHandle *wireHACCEL; |
| typedef [unique] RemotableHandle *wireHBRUSH; |
| typedef [unique] RemotableHandle *wireHFONT; |
| typedef [unique] RemotableHandle *wireHDC; |
| typedef [unique] RemotableHandle *wireHICON; |
| typedef [unique] RemotableHandle *wireHRGN; |
| typedef [unique] RemotableHandle *wireHMONITOR; |
| cpp_quote("") |
| cpp_quote("#if 0") |
| #ifndef _MIDL_DECLARE_WIREM_HANDLE |
| DECLARE_WIREM_HANDLE (HWND); |
| DECLARE_WIREM_HANDLE (HMENU); |
| DECLARE_WIREM_HANDLE (HACCEL); |
| DECLARE_WIREM_HANDLE (HBRUSH); |
| DECLARE_WIREM_HANDLE (HFONT); |
| DECLARE_WIREM_HANDLE (HDC); |
| DECLARE_WIREM_HANDLE (HICON); |
| DECLARE_WIREM_HANDLE (HRGN); |
| DECLARE_WIREM_HANDLE (HMONITOR); |
| #endif |
| |
| cpp_quote("") |
| cpp_quote("#ifndef _HCURSOR_DEFINED") |
| cpp_quote("#define _HCURSOR_DEFINED") |
| typedef HICON HCURSOR; |
| cpp_quote("#endif") |
| cpp_quote("") |
| cpp_quote("#endif") |
| |
| cpp_quote("") |
| cpp_quote("#ifndef _TEXTMETRIC_DEFINED") |
| cpp_quote("#define _TEXTMETRIC_DEFINED") |
| cpp_quote("") |
| typedef struct tagTEXTMETRICW { |
| LONG tmHeight; |
| LONG tmAscent; |
| LONG tmDescent; |
| LONG tmInternalLeading; |
| LONG tmExternalLeading; |
| LONG tmAveCharWidth; |
| LONG tmMaxCharWidth; |
| LONG tmWeight; |
| LONG tmOverhang; |
| LONG tmDigitizedAspectX; |
| LONG tmDigitizedAspectY; |
| WCHAR tmFirstChar; |
| WCHAR tmLastChar; |
| WCHAR tmDefaultChar; |
| WCHAR tmBreakChar; |
| BYTE tmItalic; |
| BYTE tmUnderlined; |
| BYTE tmStruckOut; |
| BYTE tmPitchAndFamily; |
| BYTE tmCharSet; |
| } TEXTMETRICW,*PTEXTMETRICW,*LPTEXTMETRICW; |
| cpp_quote("#endif") |
| |
| cpp_quote("") |
| cpp_quote("#ifndef _WIN32") |
| cpp_quote("#ifndef WINAPI") |
| typedef struct tagMSG { |
| HWND hwnd; |
| UINT message; |
| WPARAM wParam; |
| LPARAM lParam; |
| DWORD time; |
| POINT pt; |
| } MSG,*PMSG,*NPMSG,*LPMSG; |
| cpp_quote("#endif") |
| cpp_quote("#endif") |
| |
| cpp_quote("") |
| typedef [unique] userHBITMAP *wireHBITMAP; |
| typedef [unique] userHPALETTE *wireHPALETTE; |
| typedef [unique] userHENHMETAFILE *wireHENHMETAFILE; |
| typedef [unique] userHMETAFILE *wireHMETAFILE; |
| typedef [unique] userHMETAFILEPICT *wireHMETAFILEPICT; |
| cpp_quote("") |
| cpp_quote("#if 0") |
| DECLARE_WIREM_HANDLE (HGLOBAL); |
| typedef HGLOBAL HLOCAL; |
| DECLARE_WIREM_HANDLE (HBITMAP); |
| DECLARE_WIREM_HANDLE (HPALETTE); |
| DECLARE_WIREM_HANDLE (HENHMETAFILE); |
| DECLARE_WIREM_HANDLE (HMETAFILE); |
| cpp_quote("#endif") |
| cpp_quote("") |
| DECLARE_WIREM_HANDLE (HMETAFILEPICT); |
| } |
| |
| cpp_quote("") |
| typedef double DATE; |
| cpp_quote("") |
| cpp_quote("#ifndef _tagCY_DEFINED") |
| cpp_quote("#define _tagCY_DEFINED") |
| cpp_quote("#define _CY_DEFINED") |
| cpp_quote("") |
| cpp_quote("#if 0") |
| typedef struct tagCY { |
| LONGLONG int64; |
| } CY; |
| cpp_quote("#else") |
| cpp_quote("typedef union tagCY {") |
| cpp_quote(" __C89_NAMELESS struct {") |
| cpp_quote(" unsigned __LONG32 Lo;") |
| cpp_quote(" __LONG32 Hi;") |
| cpp_quote(" } DUMMYSTRUCTNAME;") |
| cpp_quote(" LONGLONG int64;") |
| cpp_quote("} CY;") |
| cpp_quote("#endif") |
| cpp_quote("#endif") |
| |
| cpp_quote("") |
| typedef CY *LPCY; |
| cpp_quote("") |
| cpp_quote("#if 0") |
| typedef struct tagDEC { |
| USHORT wReserved; |
| BYTE scale; |
| BYTE sign; |
| ULONG Hi32; |
| ULONGLONG Lo64; |
| } DECIMAL; |
| cpp_quote("#else") |
| cpp_quote("typedef struct tagDEC {") |
| cpp_quote(" USHORT wReserved;") |
| cpp_quote(" __C89_NAMELESS union {") |
| cpp_quote(" __C89_NAMELESS struct {") |
| cpp_quote(" BYTE scale;") |
| cpp_quote(" BYTE sign;") |
| cpp_quote(" } DUMMYSTRUCTNAME;") |
| cpp_quote(" USHORT signscale;") |
| cpp_quote(" } DUMMYUNIONNAME;") |
| cpp_quote(" ULONG Hi32;") |
| cpp_quote(" __C89_NAMELESS union {") |
| cpp_quote(" __C89_NAMELESS struct {") |
| cpp_quote(" ULONG Lo32;") |
| cpp_quote(" ULONG Mid32;") |
| cpp_quote(" } DUMMYSTRUCTNAME2;") |
| cpp_quote(" ULONGLONG Lo64;") |
| cpp_quote(" } DUMMYUNIONNAME2;") |
| cpp_quote("} DECIMAL;") |
| |
| cpp_quote("") |
| cpp_quote("#define DECIMAL_NEG ((BYTE)0x80)") |
| cpp_quote("#define DECIMAL_SETZERO(dec) { (dec).Lo64 = 0; (dec).Hi32 = 0; (dec).signscale = 0; }") |
| cpp_quote("#endif") |
| |
| cpp_quote("") |
| typedef DECIMAL *LPDECIMAL; |
| |
| cpp_quote("") |
| typedef [unique] FLAGGED_WORD_BLOB *wireBSTR; |
| typedef [wire_marshal (wireBSTR)] OLECHAR *BSTR; |
| cpp_quote("") |
| typedef BSTR *LPBSTR; |
| cpp_quote("") |
| typedef short VARIANT_BOOL; |
| cpp_quote("#if 0") |
| typedef VARIANT_BOOL _VARIANT_BOOL; |
| cpp_quote("#else") |
| cpp_quote("#define _VARIANT_BOOL /##/") |
| cpp_quote("#endif") |
| |
| cpp_quote("") |
| cpp_quote("#ifndef _tagBSTRBLOB_DEFINED") |
| cpp_quote("#define _tagBSTRBLOB_DEFINED") |
| cpp_quote("") |
| typedef struct tagBSTRBLOB { |
| ULONG cbSize; |
| [size_is (cbSize)] BYTE *pData; |
| } BSTRBLOB,*LPBSTRBLOB; |
| cpp_quote("#endif") |
| cpp_quote("") |
| |
| cpp_quote("#define VARIANT_TRUE ((VARIANT_BOOL)-1)") |
| cpp_quote("#define VARIANT_FALSE ((VARIANT_BOOL)0)") |
| |
| cpp_quote("") |
| typedef struct tagCLIPDATA { |
| ULONG cbSize; |
| long ulClipFmt; |
| [size_is (cbSize-4)] BYTE *pClipData; |
| } CLIPDATA; |
| cpp_quote("") |
| cpp_quote("#define CBPCLIPDATA(clipdata) ((clipdata).cbSize - sizeof((clipdata).ulClipFmt))") |
| |
| cpp_quote("") |
| typedef unsigned short VARTYPE; |
| |
| cpp_quote("") |
| enum VARENUM { |
| VT_EMPTY = 0, |
| VT_NULL = 1, |
| VT_I2 = 2, |
| VT_I4 = 3, |
| VT_R4 = 4, |
| VT_R8 = 5, |
| VT_CY = 6, |
| VT_DATE = 7, |
| VT_BSTR = 8, |
| VT_DISPATCH = 9, |
| VT_ERROR = 10, |
| VT_BOOL = 11, |
| VT_VARIANT = 12, |
| VT_UNKNOWN = 13, |
| VT_DECIMAL = 14, |
| VT_I1 = 16, |
| VT_UI1 = 17, |
| VT_UI2 = 18, |
| VT_UI4 = 19, |
| VT_I8 = 20, |
| VT_UI8 = 21, |
| VT_INT = 22, |
| VT_UINT = 23, |
| VT_VOID = 24, |
| VT_HRESULT = 25, |
| VT_PTR = 26, |
| VT_SAFEARRAY = 27, |
| VT_CARRAY = 28, |
| VT_USERDEFINED = 29, |
| VT_LPSTR = 30, |
| VT_LPWSTR = 31, |
| VT_RECORD = 36, |
| VT_INT_PTR = 37, |
| VT_UINT_PTR = 38, |
| VT_FILETIME = 64, |
| VT_BLOB = 65, |
| VT_STREAM = 66, |
| VT_STORAGE = 67, |
| VT_STREAMED_OBJECT = 68, |
| VT_STORED_OBJECT = 69, |
| VT_BLOB_OBJECT = 70, |
| VT_CF = 71, |
| VT_CLSID = 72, |
| VT_VERSIONED_STREAM= 73, |
| VT_BSTR_BLOB = 0x0fff, |
| VT_VECTOR = 0x1000, |
| VT_ARRAY = 0x2000, |
| VT_BYREF = 0x4000, |
| VT_RESERVED = 0x8000, |
| VT_ILLEGAL = 0xffff, |
| VT_ILLEGALMASKED = 0x0fff, |
| VT_TYPEMASK = 0x0fff |
| }; |
| cpp_quote("") |
| typedef ULONG PROPID; |
| cpp_quote("") |
| cpp_quote("#ifndef PROPERTYKEY_DEFINED") |
| cpp_quote("#define PROPERTYKEY_DEFINED") |
| cpp_quote("") |
| typedef struct _tagpropertykey { |
| GUID fmtid; |
| DWORD pid; |
| } PROPERTYKEY; |
| cpp_quote("#endif") |
| |
| cpp_quote("") |
| typedef struct tagCSPLATFORM { |
| DWORD dwPlatformId; |
| DWORD dwVersionHi; |
| DWORD dwVersionLo; |
| DWORD dwProcessorArch; |
| } CSPLATFORM; |
| |
| cpp_quote("") |
| typedef struct tagQUERYCONTEXT { |
| DWORD dwContext; |
| CSPLATFORM Platform; |
| LCID Locale; |
| DWORD dwVersionHi; |
| DWORD dwVersionLo; |
| } QUERYCONTEXT; |
| |
| cpp_quote("") |
| typedef [v1_enum] enum tagTYSPEC { |
| TYSPEC_CLSID, |
| TYSPEC_FILEEXT, |
| TYSPEC_MIMETYPE, |
| TYSPEC_FILENAME, |
| TYSPEC_PROGID, |
| TYSPEC_PACKAGENAME, |
| TYSPEC_OBJECTID |
| } TYSPEC; |
| |
| cpp_quote("") |
| typedef union switch (DWORD tyspec) { |
| case TYSPEC_CLSID: CLSID clsid; |
| case TYSPEC_FILEEXT: LPOLESTR pFileExt; |
| case TYSPEC_MIMETYPE: LPOLESTR pMimeType; |
| case TYSPEC_PROGID: LPOLESTR pProgId; |
| case TYSPEC_FILENAME: LPOLESTR pFileName; |
| case TYSPEC_PACKAGENAME: struct { |
| LPOLESTR pPackageName; |
| GUID PolicyId; |
| } ByName; |
| case TYSPEC_OBJECTID: struct { |
| GUID ObjectId; |
| GUID PolicyId; |
| } ByObjectId; |
| } uCLSSPEC; |