blob: ce85db8c3d2b5cc7ac99d5b8d25ab09206ceb758 [file] [log] [blame]
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 <pshpack1.h>")
typedef struct _SHITEMID {
USHORT cb;
BYTE abID[];
} SHITEMID;
cpp_quote("#include <poppack.h>")
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 <pshpack1.h>")
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 <poppack.h>")
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 <pshpack8.h>")
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 <poppack.h>")
cpp_quote("")
typedef STRRET *LPSTRRET;
cpp_quote("")
cpp_quote("#include <pshpack1.h>")
typedef struct _SHELLDETAILS {
int fmt;
int cxChar;
STRRET str;
} SHELLDETAILS,*LPSHELLDETAILS;
cpp_quote("#include <poppack.h>")
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;