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 "unknwn.idl"; import "wtypes.idl"; cpp_quote("") cpp_quote("#ifndef DUMMYUNIONNAME") cpp_quote("#ifdef NONAMELESSUNION") cpp_quote("#define DUMMYUNIONNAME u") cpp_quote("#define DUMMYUNIONNAME2 u2") cpp_quote("#define DUMMYUNIONNAME3 u3") cpp_quote("#define DUMMYUNIONNAME4 u4") cpp_quote("#define DUMMYUNIONNAME5 u5") cpp_quote("#else") cpp_quote("#define DUMMYUNIONNAME") cpp_quote("#define DUMMYUNIONNAME2") cpp_quote("#define DUMMYUNIONNAME3") cpp_quote("#define DUMMYUNIONNAME4") cpp_quote("#define DUMMYUNIONNAME5") cpp_quote("#endif") cpp_quote("#endif") cpp_quote("") cpp_quote("#include ") typedef struct _SHITEMID { USHORT cb; BYTE abID[]; } SHITEMID; cpp_quote("#include ") cpp_quote("") cpp_quote("#if (defined(_X86_) && !defined(__x86_64))") cpp_quote("#undef __unaligned") cpp_quote("#define __unaligned") cpp_quote("#endif") cpp_quote("") typedef SHITEMID *LPSHITEMID; typedef const SHITEMID *LPCSHITEMID; cpp_quote("") cpp_quote("#include ") typedef struct _ITEMIDLIST { SHITEMID mkid; } ITEMIDLIST; cpp_quote("") cpp_quote("#if defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus)") cpp_quote(" typedef struct _ITEMIDLIST_RELATIVE : ITEMIDLIST { } ITEMIDLIST_RELATIVE;") cpp_quote(" typedef struct _ITEMID_CHILD : ITEMIDLIST_RELATIVE { } ITEMID_CHILD;") cpp_quote(" typedef struct _ITEMIDLIST_ABSOLUTE : ITEMIDLIST_RELATIVE { } ITEMIDLIST_ABSOLUTE;") cpp_quote("#else") typedef ITEMIDLIST ITEMIDLIST_RELATIVE; typedef ITEMIDLIST ITEMID_CHILD; typedef ITEMIDLIST ITEMIDLIST_ABSOLUTE; cpp_quote("#endif") cpp_quote("#include ") cpp_quote("") typedef [unique] BYTE_BLOB *wirePIDL; typedef [wire_marshal (wirePIDL)] ITEMIDLIST *LPITEMIDLIST; typedef [wire_marshal (wirePIDL)] const ITEMIDLIST *LPCITEMIDLIST; cpp_quote("#if defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus)") typedef [wire_marshal (wirePIDL)] ITEMIDLIST_ABSOLUTE *PIDLIST_ABSOLUTE; typedef [wire_marshal (wirePIDL)] const ITEMIDLIST_ABSOLUTE *PCIDLIST_ABSOLUTE; typedef [wire_marshal (wirePIDL)] const ITEMIDLIST_ABSOLUTE *PCUIDLIST_ABSOLUTE; typedef [wire_marshal (wirePIDL)] ITEMIDLIST_RELATIVE *PIDLIST_RELATIVE; typedef [wire_marshal (wirePIDL)] const ITEMIDLIST_RELATIVE *PCIDLIST_RELATIVE; typedef [wire_marshal (wirePIDL)] ITEMIDLIST_RELATIVE *PUIDLIST_RELATIVE; typedef [wire_marshal (wirePIDL)] const ITEMIDLIST_RELATIVE *PCUIDLIST_RELATIVE; typedef [wire_marshal (wirePIDL)] ITEMID_CHILD *PITEMID_CHILD; typedef [wire_marshal (wirePIDL)] const ITEMID_CHILD *PCITEMID_CHILD; typedef [wire_marshal (wirePIDL)] ITEMID_CHILD *PUITEMID_CHILD; typedef [wire_marshal (wirePIDL)] const ITEMID_CHILD *PCUITEMID_CHILD; typedef PCUITEMID_CHILD const *PCUITEMID_CHILD_ARRAY; typedef PCUIDLIST_RELATIVE const *PCUIDLIST_RELATIVE_ARRAY; typedef PCIDLIST_ABSOLUTE const *PCIDLIST_ABSOLUTE_ARRAY; typedef PCUIDLIST_ABSOLUTE const *PCUIDLIST_ABSOLUTE_ARRAY; cpp_quote("#else") cpp_quote("#define PIDLIST_ABSOLUTE LPITEMIDLIST") cpp_quote("#define PCIDLIST_ABSOLUTE LPCITEMIDLIST") cpp_quote("#define PCUIDLIST_ABSOLUTE LPCITEMIDLIST") cpp_quote("#define PIDLIST_RELATIVE LPITEMIDLIST") cpp_quote("#define PCIDLIST_RELATIVE LPCITEMIDLIST") cpp_quote("#define PUIDLIST_RELATIVE LPITEMIDLIST") cpp_quote("#define PCUIDLIST_RELATIVE LPCITEMIDLIST") cpp_quote("#define PITEMID_CHILD LPITEMIDLIST") cpp_quote("#define PCITEMID_CHILD LPCITEMIDLIST") cpp_quote("#define PUITEMID_CHILD LPITEMIDLIST") cpp_quote("#define PCUITEMID_CHILD LPCITEMIDLIST") cpp_quote("#define PCUITEMID_CHILD_ARRAY LPCITEMIDLIST *") cpp_quote("#define PCUIDLIST_RELATIVE_ARRAY LPCITEMIDLIST *") cpp_quote("#define PCIDLIST_ABSOLUTE_ARRAY LPCITEMIDLIST *") cpp_quote("#define PCUIDLIST_ABSOLUTE_ARRAY LPCITEMIDLIST *") cpp_quote("#endif") #ifndef MAX_PATH #define MAX_PATH 260 #endif cpp_quote("") cpp_quote("#if 0") typedef struct _WIN32_FIND_DATAA { DWORD dwFileAttributes; FILETIME ftCreationTime; FILETIME ftLastAccessTime; FILETIME ftLastWriteTime; DWORD nFileSizeHigh; DWORD nFileSizeLow; DWORD dwReserved0; DWORD dwReserved1; CHAR cFileName[MAX_PATH]; CHAR cAlternateFileName[14]; } WIN32_FIND_DATAA,*PWIN32_FIND_DATAA,*LPWIN32_FIND_DATAA; cpp_quote("") typedef struct _WIN32_FIND_DATAW { DWORD dwFileAttributes; FILETIME ftCreationTime; FILETIME ftLastAccessTime; FILETIME ftLastWriteTime; DWORD nFileSizeHigh; DWORD nFileSizeLow; DWORD dwReserved0; DWORD dwReserved1; WCHAR cFileName[MAX_PATH]; WCHAR cAlternateFileName[14]; } WIN32_FIND_DATAW,*PWIN32_FIND_DATAW,*LPWIN32_FIND_DATAW; cpp_quote("#endif") cpp_quote("") typedef [v1_enum] enum tagSTRRET_TYPE { STRRET_WSTR = 0x0000, STRRET_OFFSET = 0x0001, STRRET_CSTR = 0x0002 } STRRET_TYPE; cpp_quote("") cpp_quote("#include ") typedef struct _STRRET { UINT uType; [switch_type (UINT), switch_is (uType)] union { [case (STRRET_WSTR)][string] LPWSTR pOleStr; [case (STRRET_OFFSET)] UINT uOffset; [case (STRRET_CSTR)] char cStr[MAX_PATH]; }; } STRRET; cpp_quote("#include ") cpp_quote("") typedef STRRET *LPSTRRET; cpp_quote("") cpp_quote("#include ") typedef struct _SHELLDETAILS { int fmt; int cxChar; STRRET str; } SHELLDETAILS,*LPSHELLDETAILS; cpp_quote("#include ") cpp_quote("") cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE60SP2") typedef [v1_enum] enum tagPERCEIVED { PERCEIVED_TYPE_FIRST = -3, PERCEIVED_TYPE_CUSTOM = -3, PERCEIVED_TYPE_UNSPECIFIED = -2, PERCEIVED_TYPE_FOLDER = -1, PERCEIVED_TYPE_UNKNOWN = 0, PERCEIVED_TYPE_TEXT = 1, PERCEIVED_TYPE_IMAGE = 2, PERCEIVED_TYPE_AUDIO = 3, PERCEIVED_TYPE_VIDEO = 4, PERCEIVED_TYPE_COMPRESSED = 5, PERCEIVED_TYPE_DOCUMENT = 6, PERCEIVED_TYPE_SYSTEM = 7, PERCEIVED_TYPE_APPLICATION = 8, PERCEIVED_TYPE_GAMEMEDIA = 9, PERCEIVED_TYPE_CONTACTS = 10, PERCEIVED_TYPE_LAST = 10 } PERCEIVED; cpp_quote("") cpp_quote("#define PERCEIVEDFLAG_UNDEFINED 0x0000") cpp_quote("#define PERCEIVEDFLAG_SOFTCODED 0x0001") cpp_quote("#define PERCEIVEDFLAG_HARDCODED 0x0002") cpp_quote("#define PERCEIVEDFLAG_NATIVESUPPORT 0x0004") cpp_quote("#define PERCEIVEDFLAG_GDIPLUS 0x0010") cpp_quote("#define PERCEIVEDFLAG_WMSDK 0x0020") cpp_quote("#define PERCEIVEDFLAG_ZIPFOLDER 0x0040") cpp_quote("") typedef DWORD PERCEIVEDFLAG; cpp_quote("#endif") cpp_quote("") typedef struct _COMDLG_FILTERSPEC { [string] LPCWSTR pszName; [string] LPCWSTR pszSpec; } COMDLG_FILTERSPEC; cpp_quote("") typedef GUID KNOWNFOLDERID; cpp_quote("") cpp_quote("#if 0") typedef KNOWNFOLDERID *REFKNOWNFOLDERID; cpp_quote("#endif") cpp_quote("") cpp_quote("#ifdef __cplusplus") cpp_quote("#define REFKNOWNFOLDERID const KNOWNFOLDERID &") cpp_quote("#else") cpp_quote("#define REFKNOWNFOLDERID const KNOWNFOLDERID * __MIDL_CONST") cpp_quote("#endif") cpp_quote("") cpp_quote("typedef DWORD KF_REDIRECT_FLAGS;") cpp_quote("") typedef GUID FOLDERTYPEID; cpp_quote("") cpp_quote("#if 0") typedef FOLDERTYPEID *REFFOLDERTYPEID; cpp_quote("#endif") cpp_quote("") cpp_quote("#ifdef __cplusplus") cpp_quote("#define REFFOLDERTYPEID const FOLDERTYPEID &") cpp_quote("#else") cpp_quote("#define REFFOLDERTYPEID const FOLDERTYPEID * __MIDL_CONST") cpp_quote("#endif") cpp_quote("") typedef GUID TASKOWNERID; cpp_quote("") cpp_quote("#if 0") typedef TASKOWNERID *REFTASKOWNERID; cpp_quote("#endif") cpp_quote("") cpp_quote("#ifdef __cplusplus") cpp_quote("#define REFTASKOWNERID const TASKOWNERID &") cpp_quote("#else") cpp_quote("#define REFTASKOWNERID const TASKOWNERID * __MIDL_CONST") cpp_quote("#endif") cpp_quote("") typedef GUID ELEMENTID; cpp_quote("") cpp_quote("#if 0") typedef ELEMENTID *REFELEMENTID; cpp_quote("#endif") cpp_quote("") cpp_quote("#ifdef __cplusplus") cpp_quote("#define REFELEMENTID const ELEMENTID &") cpp_quote("#else") cpp_quote("#define REFELEMENTID const ELEMENTID * __MIDL_CONST") cpp_quote("#endif") cpp_quote("") cpp_quote("#ifndef LF_FACESIZE") #define LF_FACESIZE 32 typedef struct tagLOGFONTA { LONG lfHeight; LONG lfWidth; LONG lfEscapement; LONG lfOrientation; LONG lfWeight; BYTE lfItalic; BYTE lfUnderline; BYTE lfStrikeOut; BYTE lfCharSet; BYTE lfOutPrecision; BYTE lfClipPrecision; BYTE lfQuality; BYTE lfPitchAndFamily; CHAR lfFaceName[LF_FACESIZE]; } LOGFONTA; cpp_quote("") typedef struct tagLOGFONTW { LONG lfHeight; LONG lfWidth; LONG lfEscapement; LONG lfOrientation; LONG lfWeight; BYTE lfItalic; BYTE lfUnderline; BYTE lfStrikeOut; BYTE lfCharSet; BYTE lfOutPrecision; BYTE lfClipPrecision; BYTE lfQuality; BYTE lfPitchAndFamily; WCHAR lfFaceName[LF_FACESIZE]; } LOGFONTW; cpp_quote("") #ifdef UNICODE typedef LOGFONTW LOGFONT; #else typedef LOGFONTA LOGFONT; #endif cpp_quote("#endif") cpp_quote("") typedef [v1_enum] enum tagSHCOLSTATE { SHCOLSTATE_DEFAULT = 0x00000000, SHCOLSTATE_TYPE_STR = 0x00000001, SHCOLSTATE_TYPE_INT = 0x00000002, SHCOLSTATE_TYPE_DATE = 0x00000003, SHCOLSTATE_TYPEMASK = 0x0000000f, SHCOLSTATE_ONBYDEFAULT = 0x00000010, SHCOLSTATE_SLOW = 0x00000020, SHCOLSTATE_EXTENDED = 0x00000040, SHCOLSTATE_SECONDARYUI = 0x00000080, SHCOLSTATE_HIDDEN = 0x00000100, SHCOLSTATE_PREFER_VARCMP = 0x00000200, SHCOLSTATE_PREFER_FMTCMP = 0x00000400, SHCOLSTATE_NOSORTBYFOLDERNESS = 0x00000800, SHCOLSTATE_VIEWONLY = 0x00010000, SHCOLSTATE_BATCHREAD = 0x00020000, SHCOLSTATE_NO_GROUPBY = 0x00040000, SHCOLSTATE_FIXED_WIDTH = 0x00001000, SHCOLSTATE_NODPISCALE = 0x00002000, SHCOLSTATE_FIXED_RATIO = 0x00004000, SHCOLSTATE_DISPLAYMASK = 0x0000f000 } SHCOLSTATE; cpp_quote("") typedef DWORD SHCOLSTATEF; typedef PROPERTYKEY SHCOLUMNID; typedef const SHCOLUMNID *LPCSHCOLUMNID; cpp_quote("") typedef [v1_enum] enum DEVICE_SCALE_FACTOR { DEVICE_SCALE_FACTOR_INVALID = 0, SCALE_100_PERCENT = 100, SCALE_120_PERCENT = 120, SCALE_125_PERCENT = 125, SCALE_140_PERCENT = 140, SCALE_150_PERCENT = 150, SCALE_160_PERCENT = 160, SCALE_175_PERCENT = 175, SCALE_180_PERCENT = 180, SCALE_200_PERCENT = 200, SCALE_225_PERCENT = 225, SCALE_250_PERCENT = 250, SCALE_300_PERCENT = 300, SCALE_350_PERCENT = 350, SCALE_400_PERCENT = 400, SCALE_450_PERCENT = 450, SCALE_500_PERCENT = 500 } DEVICE_SCALE_FACTOR;