| /** |
| * This file has no copyright assigned and is placed in the Public Domain. |
| * This file is part of the w64 mingw-runtime package. |
| * No warranty is given; refer to the file DISCLAIMER.PD within this package. |
| */ |
| |
| import "basetsd.h"; |
| import "guiddef.h"; |
| |
| [ |
| 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; |
| |
| typedef struct tagRemHMETAFILEPICT { |
| long mm; |
| long xExt; |
| long yExt; |
| unsigned long cbData; |
| [size_is(cbData)] byte data[]; |
| } RemHMETAFILEPICT; |
| |
| typedef struct tagRemHENHMETAFILE { |
| unsigned long cbData; |
| [size_is(cbData)] byte data[]; |
| } RemHENHMETAFILE; |
| |
| typedef struct tagRemHBITMAP { |
| unsigned long cbData; |
| [size_is(cbData)] byte data[]; |
| } RemHBITMAP; |
| |
| typedef struct tagRemHPALETTE { |
| unsigned long cbData; |
| [size_is(cbData)] byte data[]; |
| } RemHPALETTE; |
| |
| typedef struct tagRemBRUSH { |
| unsigned long cbData; |
| [size_is(cbData)] byte data[]; |
| } RemHBRUSH; |
| |
| cpp_quote("#if 0") |
| |
| typedef byte BYTE; |
| typedef unsigned short WORD; |
| typedef unsigned int UINT; |
| typedef int INT; |
| |
| #ifdef BOOL |
| #undef BOOL |
| typedef long BOOL; |
| typedef long WINBOOL; |
| #define BOOL WINBOOL |
| #else |
| typedef long BOOL; |
| #endif |
| |
| typedef long LONG; |
| typedef UINT_PTR WPARAM; |
| typedef unsigned long DWORD; |
| typedef LONG_PTR LPARAM; |
| typedef LONG_PTR LRESULT; |
| |
| typedef void *HANDLE; |
| |
| #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 WORD *LPWORD; |
| typedef DWORD *LPDWORD; |
| |
| typedef char CHAR; |
| typedef [string] CHAR *LPSTR; |
| typedef [string] const CHAR *LPCSTR; |
| |
| typedef wchar_t WCHAR; |
| typedef [string] WCHAR *LPWSTR; |
| typedef [string] const WCHAR *LPCWSTR; |
| |
| typedef WCHAR TCHAR; |
| typedef [string] TCHAR *LPTSTR; |
| typedef [string] const TCHAR *LPCTSTR; |
| |
| typedef DWORD COLORREF; |
| typedef DWORD *LPCOLORREF; |
| |
| typedef HANDLE *LPHANDLE; |
| |
| 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 tagPOINTL { |
| 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("#ifndef _PALETTEENTRY_DEFINED") |
| cpp_quote("#define _PALETTEENTRY_DEFINED") |
| typedef struct tagPALETTEENTRY { |
| BYTE peRed; |
| BYTE peGreen; |
| BYTE peBlue; |
| BYTE peFlags; |
| } PALETTEENTRY, *PPALETTEENTRY, *LPPALETTEENTRY; |
| cpp_quote("#endif") |
| |
| cpp_quote("#ifndef _LOGPALETTE_DEFINED") |
| cpp_quote("#define _LOGPALETTE_DEFINED") |
| typedef struct tagLOGPALETTE { |
| WORD palVersion; |
| WORD palNumEntries; |
| [size_is(palNumEntries)] PALETTEENTRY palPalEntry[]; |
| } LOGPALETTE, *PLOGPALETTE, *LPLOGPALETTE; |
| cpp_quote("#endif") |
| |
| cpp_quote("#ifndef OLE2ANSI") |
| typedef WCHAR OLECHAR; |
| typedef OLECHAR *LPOLESTR; |
| typedef const OLECHAR *LPCOLESTR; |
| cpp_quote("#define OLESTR(str) L##str") |
| cpp_quote("#else") |
| cpp_quote(" typedef char OLECHAR;") |
| cpp_quote(" typedef LPSTR LPOLESTR;") |
| cpp_quote(" typedef LPCSTR LPCOLESTR;") |
| cpp_quote("#define OLESTR(str) str") |
| cpp_quote("#endif") |
| |
| cpp_quote("#ifndef _WINDEF_") |
| |
| typedef const RECTL *LPCRECTL; |
| typedef void *PVOID, *LPVOID; |
| typedef float FLOAT; |
| |
| typedef struct tagRECT { |
| LONG left; |
| LONG top; |
| LONG right; |
| LONG bottom; |
| } RECT, *PRECT, *LPRECT; |
| typedef const RECT *LPCRECT; |
| |
| cpp_quote("#endif") |
| |
| cpp_quote("#ifndef BASETYPES") |
| cpp_quote("#define BASETYPES") |
| |
| typedef unsigned char UCHAR; |
| typedef short SHORT; |
| typedef unsigned short USHORT; |
| typedef DWORD ULONG; |
| |
| cpp_quote(" typedef ULONG *PULONG;") |
| cpp_quote(" typedef USHORT *PUSHORT;") |
| cpp_quote(" typedef UCHAR *PUCHAR;") |
| cpp_quote(" typedef char *PSZ;") |
| |
| cpp_quote("#endif") |
| |
| typedef double DOUBLE; |
| |
| cpp_quote("#ifndef _DWORDLONG_") |
| cpp_quote("#define _DWORDLONG_") |
| cpp_quote(" __MINGW_EXTENSION") |
| typedef unsigned __int64 DWORDLONG; |
| typedef DWORDLONG *PDWORDLONG; |
| cpp_quote("#endif") |
| |
| cpp_quote("#ifndef _ULONGLONG_") |
| cpp_quote(" __MINGW_EXTENSION") |
| typedef __int64 LONGLONG; |
| cpp_quote(" __MINGW_EXTENSION") |
| typedef unsigned __int64 ULONGLONG; |
| typedef LONGLONG *PLONGLONG; |
| typedef ULONGLONG *PULONGLONG; |
| cpp_quote("#endif") |
| |
| cpp_quote("#if 0") |
| typedef struct _LARGE_INTEGER { |
| LONGLONG QuadPart; |
| } LARGE_INTEGER, *PLARGE_INTEGER; |
| |
| typedef struct _ULARGE_INTEGER { |
| ULONGLONG QuadPart; |
| } ULARGE_INTEGER; |
| cpp_quote("#endif") |
| |
| cpp_quote("#ifndef _WINBASE_") |
| |
| cpp_quote("#ifndef _FILETIME_") |
| cpp_quote("#define _FILETIME_") |
| typedef struct _FILETIME { |
| DWORD dwLowDateTime; |
| DWORD dwHighDateTime; |
| } FILETIME, *PFILETIME, *LPFILETIME; |
| cpp_quote("#endif") |
| |
| cpp_quote("#ifndef _SYSTEMTIME_") |
| cpp_quote("#define _SYSTEMTIME_") |
| typedef struct _SYSTEMTIME { |
| WORD wYear; |
| WORD wMonth; |
| WORD wDayOfWeek; |
| WORD wDay; |
| WORD wHour; |
| WORD wMinute; |
| WORD wSecond; |
| WORD wMilliseconds; |
| } SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME; |
| cpp_quote("#endif") |
| |
| cpp_quote("#ifndef _SECURITY_ATTRIBUTES_") |
| cpp_quote("#define _SECURITY_ATTRIBUTES_") |
| typedef struct _SECURITY_ATTRIBUTES { |
| DWORD nLength; |
| LPVOID lpSecurityDescriptor; |
| WINBOOL bInheritHandle; |
| } SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES; |
| cpp_quote("#endif") |
| |
| cpp_quote("#ifndef SECURITY_DESCRIPTOR_REVISION") |
| typedef USHORT SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL; |
| typedef PVOID PSID; |
| |
| typedef struct _ACL { |
| UCHAR AclRevision; |
| UCHAR Sbz1; |
| USHORT AclSize; |
| USHORT AceCount; |
| USHORT Sbz2; |
| } ACL, *PACL; |
| |
| typedef struct _SECURITY_DESCRIPTOR { |
| UCHAR Revision; |
| UCHAR Sbz1; |
| SECURITY_DESCRIPTOR_CONTROL Control; |
| PSID Owner; |
| PSID Group; |
| PACL Sacl; |
| PACL Dacl; |
| } SECURITY_DESCRIPTOR, *PISECURITY_DESCRIPTOR; |
| |
| cpp_quote("#endif") |
| cpp_quote("#endif") |
| |
| typedef struct _COAUTHIDENTITY { |
| [size_is(UserLength+1)] USHORT *User; |
| [range(0,256)] ULONG UserLength; |
| [size_is(DomainLength+1)] USHORT *Domain; |
| [range(0,256)] ULONG DomainLength; |
| [size_is(PasswordLength+1)] USHORT *Password; |
| [range(0,256)] ULONG PasswordLength; |
| ULONG Flags; |
| } COAUTHIDENTITY; |
| |
| typedef struct _COAUTHINFO { |
| DWORD dwAuthnSvc; |
| DWORD dwAuthzSvc; |
| LPWSTR pwszServerPrincName; |
| DWORD dwAuthnLevel; |
| DWORD dwImpersonationLevel; |
| COAUTHIDENTITY *pAuthIdentityData; |
| DWORD dwCapabilities; |
| } COAUTHINFO; |
| |
| typedef LONG SCODE; |
| typedef SCODE *PSCODE; |
| |
| cpp_quote("#ifndef _HRESULT_DEFINED") |
| cpp_quote("#define _HRESULT_DEFINED") |
| typedef LONG HRESULT; |
| cpp_quote("#endif") |
| |
| cpp_quote("#ifndef __OBJECTID_DEFINED") |
| cpp_quote("#define __OBJECTID_DEFINED") |
| cpp_quote("#define _OBJECTID_DEFINED") |
| typedef struct _OBJECTID { |
| GUID Lineage; |
| unsigned long Uniquifier; |
| } OBJECTID; |
| cpp_quote("#endif") |
| |
| cpp_quote("#if 0") |
| typedef GUID *REFGUID; |
| typedef IID *REFIID; |
| typedef CLSID *REFCLSID; |
| typedef FMTID *REFFMTID; |
| cpp_quote("#endif") |
| |
| typedef enum tagMEMCTX { |
| MEMCTX_TASK = 1, |
| MEMCTX_SHARED = 2, |
| MEMCTX_MACSYSTEM = 3, |
| MEMCTX_UNKNOWN = -1, |
| MEMCTX_SAME = -2 |
| } MEMCTX; |
| |
| 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("#ifndef _ROT_COMPARE_MAX_DEFINED") |
| cpp_quote("#define _ROT_COMPARE_MAX_DEFINED") |
| cpp_quote("#define ROT_COMPARE_MAX 2048") |
| cpp_quote("#endif") |
| |
| typedef enum tagCLSCTX { |
| CLSCTX_INPROC_SERVER = 0x1, |
| CLSCTX_INPROC_HANDLER = 0x2, |
| CLSCTX_LOCAL_SERVER = 0x4, |
| CLSCTX_INPROC_SERVER16 = 0x8, |
| CLSCTX_REMOTE_SERVER = 0x10, |
| CLSCTX_INPROC_HANDLER16 = 0x20, |
| CLSCTX_RESERVED1 = 0x40, |
| CLSCTX_RESERVED2 = 0x80, |
| CLSCTX_RESERVED3 = 0x100, |
| CLSCTX_RESERVED4 = 0x200, |
| CLSCTX_NO_CODE_DOWNLOAD = 0x400, |
| CLSCTX_RESERVED5 = 0x800, |
| CLSCTX_NO_CUSTOM_MARSHAL = 0x1000, |
| CLSCTX_ENABLE_CODE_DOWNLOAD = 0x2000, |
| CLSCTX_NO_FAILURE_LOG = 0x4000, |
| CLSCTX_DISABLE_AAA = 0x8000, |
| CLSCTX_ENABLE_AAA = 0x10000, |
| CLSCTX_FROM_DEFAULT_CONTEXT = 0x20000, |
| CLSCTX_ACTIVATE_32_BIT_SERVER = 0x40000, |
| CLSCTX_ACTIVATE_64_BIT_SERVER = 0x80000 |
| } CLSCTX; |
| |
| typedef enum tagMSHLFLAGS { |
| MSHLFLAGS_NORMAL = 0, |
| MSHLFLAGS_TABLESTRONG = 1, |
| MSHLFLAGS_TABLEWEAK = 2, |
| MSHLFLAGS_NOPING = 4, |
| MSHLFLAGS_RESERVED1 = 8, |
| MSHLFLAGS_RESERVED2 = 16, |
| MSHLFLAGS_RESERVED3 = 32, |
| MSHLFLAGS_RESERVED4 = 64 |
| } MSHLFLAGS; |
| |
| typedef enum tagMSHCTX { |
| MSHCTX_LOCAL = 0, |
| MSHCTX_NOSHAREDMEM = 1, |
| MSHCTX_DIFFERENTMACHINE = 2, |
| MSHCTX_INPROC = 3, |
| MSHCTX_CROSSCTX = 4 |
| } MSHCTX; |
| |
| typedef enum tagDVASPECT { |
| DVASPECT_CONTENT = 1, |
| DVASPECT_THUMBNAIL = 2, |
| DVASPECT_ICON = 4,DVASPECT_DOCPRINT = 8 |
| } DVASPECT; |
| |
| typedef enum tagSTGC { |
| STGC_DEFAULT = 0, |
| STGC_OVERWRITE = 1, |
| STGC_ONLYIFCURRENT = 2, |
| STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4, |
| STGC_CONSOLIDATE = 8 |
| } STGC; |
| |
| typedef enum tagSTGMOVE { |
| STGMOVE_MOVE = 0, |
| STGMOVE_COPY = 1, |
| STGMOVE_SHALLOWCOPY = 2 |
| } STGMOVE; |
| |
| typedef enum tagSTATFLAG { |
| STATFLAG_DEFAULT = 0, |
| STATFLAG_NONAME = 1, |
| STATFLAG_NOOPEN = 2 |
| } STATFLAG; |
| |
| typedef [context_handle] void *HCONTEXT; |
| |
| cpp_quote("#ifndef _LCID_DEFINED") |
| cpp_quote("#define _LCID_DEFINED") |
| typedef DWORD LCID; |
| cpp_quote("#endif") |
| |
| cpp_quote("#ifndef _LANGID_DEFINED") |
| cpp_quote("#define _LANGID_DEFINED") |
| typedef USHORT LANGID; |
| cpp_quote("#endif") |
| |
| typedef struct _BYTE_BLOB { |
| unsigned long clSize; |
| [size_is(clSize)] byte abData[]; |
| } BYTE_BLOB; |
| |
| typedef [unique] BYTE_BLOB *UP_BYTE_BLOB; |
| |
| typedef struct _WORD_BLOB { |
| unsigned long clSize; |
| [size_is(clSize)] unsigned short asData[]; |
| } WORD_BLOB; |
| |
| typedef [unique] WORD_BLOB *UP_WORD_BLOB; |
| |
| typedef struct _DWORD_BLOB { |
| unsigned long clSize; |
| [size_is(clSize)] unsigned long alData[]; |
| } DWORD_BLOB; |
| |
| typedef [unique] DWORD_BLOB *UP_DWORD_BLOB; |
| |
| typedef struct _FLAGGED_BYTE_BLOB { |
| unsigned long fFlags; |
| unsigned long clSize; |
| [size_is(clSize)] byte abData[]; |
| } FLAGGED_BYTE_BLOB; |
| |
| typedef [unique] FLAGGED_BYTE_BLOB *UP_FLAGGED_BYTE_BLOB; |
| |
| typedef struct _FLAGGED_WORD_BLOB { |
| unsigned long fFlags; |
| unsigned long clSize; |
| [size_is(clSize)] unsigned short asData[]; |
| } FLAGGED_WORD_BLOB; |
| |
| typedef [unique] FLAGGED_WORD_BLOB *UP_FLAGGED_WORD_BLOB; |
| |
| typedef struct _BYTE_SIZEDARR { |
| unsigned long clSize; |
| [size_is(clSize)] byte *pData; |
| } BYTE_SIZEDARR; |
| |
| typedef struct _SHORT_SIZEDARR { |
| unsigned long clSize; |
| [size_is(clSize)] unsigned short *pData; |
| } WORD_SIZEDARR; |
| |
| typedef struct _LONG_SIZEDARR { |
| unsigned long clSize; |
| [size_is(clSize)] unsigned long *pData; |
| } DWORD_SIZEDARR; |
| |
| typedef struct _HYPER_SIZEDARR { |
| unsigned long clSize; |
| [size_is(clSize)] hyper *pData; |
| } HYPER_SIZEDARR; |
| |
| const long WDT_INPROC_CALL = 0x48746457; |
| const long WDT_REMOTE_CALL = 0x52746457; |
| const long WDT_INPROC64_CALL = 0x50746457; |
| |
| typedef union _userCLIPFORMAT switch (long fContext) u { |
| case WDT_INPROC_CALL: DWORD dwValue; |
| case WDT_REMOTE_CALL: [string] wchar_t *pwszName; |
| } userCLIPFORMAT; |
| |
| typedef [unique] userCLIPFORMAT *wireCLIPFORMAT; |
| typedef [wire_marshal(wireCLIPFORMAT)] WORD CLIPFORMAT; |
| |
| typedef union _GDI_NONREMOTE switch(long fContext) u { |
| case WDT_INPROC_CALL: long hInproc; |
| case WDT_REMOTE_CALL: DWORD_BLOB *hRemote; |
| } GDI_NONREMOTE; |
| |
| typedef union _userHGLOBAL switch(long fContext) { |
| case WDT_INPROC_CALL: long hInproc; |
| case WDT_REMOTE_CALL: FLAGGED_BYTE_BLOB *hRemote; |
| case WDT_INPROC64_CALL: __int64 hInproc64; |
| } userHGLOBAL; |
| |
| typedef [unique] userHGLOBAL *wireHGLOBAL; |
| |
| typedef union _userHMETAFILE switch(long fContext) { |
| case WDT_INPROC_CALL: long hInproc; |
| case WDT_REMOTE_CALL: BYTE_BLOB *hRemote; |
| case WDT_INPROC64_CALL: __int64 hInproc64; |
| } userHMETAFILE; |
| |
| typedef struct _remoteMETAFILEPICT { |
| long mm; |
| long xExt; |
| long yExt; |
| userHMETAFILE *hMF; |
| } remoteMETAFILEPICT; |
| |
| typedef union _userHMETAFILEPICT switch(long fContext) { |
| case WDT_INPROC_CALL: long hInproc; |
| case WDT_REMOTE_CALL: remoteMETAFILEPICT *hRemote; |
| case WDT_INPROC64_CALL: __int64 hInproc64; |
| } userHMETAFILEPICT; |
| |
| typedef union _userHENHMETAFILE switch(long fContext) { |
| case WDT_INPROC_CALL: long hInproc; |
| case WDT_REMOTE_CALL: BYTE_BLOB *hRemote; |
| case WDT_INPROC64_CALL: __int64 hInproc64; |
| } userHENHMETAFILE; |
| |
| typedef struct _userBITMAP { |
| LONG bmType; |
| LONG bmWidth; |
| LONG bmHeight; |
| LONG bmWidthBytes; |
| WORD bmPlanes; |
| WORD bmBitsPixel; |
| ULONG cbSize; |
| [size_is(cbSize)] byte pBuffer[]; |
| } userBITMAP; |
| |
| 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; |
| |
| 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; |
| |
| typedef union _RemotableHandle switch(long fContext) { |
| case WDT_INPROC_CALL: long hInproc; |
| case WDT_REMOTE_CALL: long hRemote; |
| } RemotableHandle; |
| |
| 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; |
| |
| 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); |
| #endif |
| |
| typedef HICON HCURSOR; |
| |
| cpp_quote("#endif") |
| |
| cpp_quote("#ifndef _TEXTMETRIC_DEFINED") |
| cpp_quote("#define _TEXTMETRIC_DEFINED") |
| 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("#if 0") |
| typedef struct tagMSG { |
| HWND hwnd; |
| UINT message; |
| WPARAM wParam; |
| LPARAM lParaml; |
| DWORD time; |
| POINT pt; |
| } MSG, *PMSG, *NPMSG, *LPMSG; |
| cpp_quote("#endif") |
| |
| typedef [unique] userHBITMAP *wireHBITMAP; |
| typedef [unique] userHPALETTE *wireHPALETTE; |
| typedef [unique] userHENHMETAFILE *wireHENHMETAFILE; |
| typedef [unique] userHMETAFILE *wireHMETAFILE; |
| typedef [unique] userHMETAFILEPICT *wireHMETAFILEPICT; |
| |
| 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") |
| |
| DECLARE_WIREM_HANDLE(HMETAFILEPICT); |
| |
| } /* IWinTypes */ |
| |
| typedef double DATE; |
| |
| cpp_quote("#ifndef _tagCY_DEFINED") |
| cpp_quote("#define _tagCY_DEFINED") |
| cpp_quote("#define _CY_DEFINED") |
| |
| 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 long Lo;") |
| cpp_quote(" long Hi;") |
| cpp_quote(" } DUMMYSTRUCTNAME;") |
| cpp_quote(" LONGLONG int64;") |
| cpp_quote(" } CY;") |
| |
| cpp_quote("#endif") |
| cpp_quote("#endif") |
| |
| typedef CY *LPCY; |
| |
| 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("#define DECIMAL_NEG ((BYTE)0x80)") |
| cpp_quote("#define DECIMAL_SETZERO(dec) {(dec).Lo64 = 0; (dec).Hi32 = 0; (dec).signscale = 0;}") |
| |
| cpp_quote("#endif") |
| |
| typedef DECIMAL *LPDECIMAL; |
| |
| typedef [unique] FLAGGED_WORD_BLOB *wireBSTR; |
| typedef [wire_marshal(wireBSTR)] OLECHAR *BSTR; |
| typedef BSTR *LPBSTR; |
| |
| typedef short VARIANT_BOOL; |
| typedef VARIANT_BOOL _VARIANT_BOOL; |
| |
| cpp_quote("#ifndef _BOOLEAN_") |
| cpp_quote("#define _BOOLEAN_") |
| typedef boolean BOOLEAN; |
| cpp_quote("#endif") |
| |
| cpp_quote("#ifndef _tagBSTRBLOB_DEFINED") |
| cpp_quote("#define _tagBSTRBLOB_DEFINED") |
| typedef struct tagBSTRBLOB { |
| ULONG cbSize; |
| [size_is(cbSize)] BYTE *pData; |
| } BSTRBLOB, *LPBSTRBLOB; |
| cpp_quote("#endif") |
| |
| cpp_quote("#define VARIANT_TRUE ((VARIANT_BOOL)-1)") |
| cpp_quote("#define VARIANT_FALSE ((VARIANT_BOOL)0)") |
| |
| cpp_quote("#ifndef _tagBLOB_DEFINED") |
| cpp_quote("#define _tagBLOB_DEFINED") |
| cpp_quote("#define _BLOB_DEFINED") |
| cpp_quote("#define _LPBLOB_DEFINED") |
| typedef struct tagBLOB { |
| ULONG cbSize; |
| [size_is(cbSize)] BYTE *pBlobData; |
| } BLOB, *LPBLOB; |
| cpp_quote("#endif") |
| |
| typedef struct tagCLIPDATA { |
| ULONG cbSize; |
| long ulClipFmt; |
| [size_is(cbSize-4)] BYTE *pClipData; |
| } CLIPDATA; |
| |
| cpp_quote("#define CBPCLIPDATA(clipdata) ((clipdata).cbSize - sizeof((clipdata).ulClipFmt))") |
| |
| typedef unsigned short VARTYPE; |
| |
| #include <psdk_inc/_varenum.h> |
| |
| typedef ULONG PROPID; |
| |
| cpp_quote("#ifndef PROPERTYKEY_DEFINED") |
| cpp_quote("#define PROPERTYKEY_DEFINED") |
| typedef struct _tagpropertykey { |
| GUID fmtid; |
| DWORD pid; |
| } PROPERTYKEY; |
| cpp_quote("#endif") |
| |
| cpp_quote("#ifndef SID_IDENTIFIER_AUTHORITY_DEFINED") |
| cpp_quote("#define SID_IDENTIFIER_AUTHORITY_DEFINED") |
| typedef struct _SID_IDENTIFIER_AUTHORITY { |
| UCHAR Value[6]; |
| } SID_IDENTIFIER_AUTHORITY, *PSID_IDENTIFIER_AUTHORITY; |
| cpp_quote("#endif") |
| |
| cpp_quote("#ifndef SID_DEFINED") |
| cpp_quote("#define SID_DEFINED") |
| typedef struct _SID { |
| BYTE Revision; |
| BYTE SubAuthorityCount; |
| SID_IDENTIFIER_AUTHORITY IdentifierAuthority; |
| [size_is(SubAuthorityCount)] ULONG SubAuthority[*]; |
| } SID, *PISID; |
| |
| typedef struct _SID_AND_ATTRIBUTES { |
| SID *Sid; |
| DWORD Attributes; |
| } SID_AND_ATTRIBUTES, *PSID_AND_ATTRIBUTES; |
| cpp_quote("#endif") |
| |
| typedef struct tagCSPLATFORM { |
| DWORD dwPlatformId; |
| DWORD dwVersionHi; |
| DWORD dwVersionLo; |
| DWORD dwProcessorArch; |
| } CSPLATFORM; |
| |
| typedef struct tagQUERYCONTEXT { |
| DWORD dwContext; |
| CSPLATFORM Platform; |
| LCID Locale; |
| DWORD dwVersionHi; |
| DWORD dwVersionLo; |
| } QUERYCONTEXT; |
| |
| typedef [v1_enum] enum tagTYSPEC { |
| TYSPEC_CLSID = 0, |
| TYSPEC_FILEEXT, |
| TYSPEC_MIMETYPE, |
| TYSPEC_FILENAME, |
| TYSPEC_PROGID, |
| TYSPEC_PACKAGENAME, |
| TYSPEC_OBJECTID |
| } TYSPEC; |
| |
| 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; |