From ece445cfa38367183a3b489daaf590e6b2d8e519 Mon Sep 17 00:00:00 2001 From: Vincent Povirk Date: Sat, 7 Feb 2009 14:53:17 -0600 Subject: [PATCH] add IShellItem to headers --- dlls/shell32/pidl.c | 2 +- include/shlobj.h | 1 + include/shobjidl.idl | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 38 insertions(+), 1 deletions(-) diff --git a/dlls/shell32/pidl.c b/dlls/shell32/pidl.c index c259d24..95d5b1a 100644 --- a/dlls/shell32/pidl.c +++ b/dlls/shell32/pidl.c @@ -2371,7 +2371,7 @@ LPITEMIDLIST* _ILCopyCidaToaPidl(LPITEMIDLIST* pidl, const CIDA * cida) } HRESULT WINAPI SHCreateShellItem(LPCITEMIDLIST pidlParent, - IShellFolder *psfParent, LPCITEMIDLIST pidl, void **ppsi) + IShellFolder *psfParent, LPCITEMIDLIST pidl, IShellItem **ppsi) { FIXME("STUB: %p %p %p %p\n",pidlParent, psfParent, pidl, ppsi); return E_NOINTERFACE; diff --git a/include/shlobj.h b/include/shlobj.h index 6480023..b7efc85 100644 --- a/include/shlobj.h +++ b/include/shlobj.h @@ -44,6 +44,7 @@ LPVOID WINAPI SHAlloc(ULONG) __WINE_ALLOC_SIZE(1); HRESULT WINAPI SHCoCreateInstance(LPCWSTR,const CLSID*,IUnknown*,REFIID,LPVOID*); HPSXA WINAPI SHCreatePropSheetExtArray(HKEY,LPCWSTR,UINT); HPSXA WINAPI SHCreatePropSheetExtArrayEx(HKEY,LPCWSTR,UINT,IDataObject*); +HRESULT WINAPI SHCreateShellItem(LPCITEMIDLIST,IShellFolder*,LPCITEMIDLIST,IShellItem**); DWORD WINAPI SHCLSIDFromStringA(LPCSTR,CLSID*); DWORD WINAPI SHCLSIDFromStringW(LPCWSTR,CLSID*); #define SHCLSIDFromString WINELIB_NAME_AW(SHCLSIDFromString) diff --git a/include/shobjidl.idl b/include/shobjidl.idl index 07baea7..b152334 100644 --- a/include/shobjidl.idl +++ b/include/shobjidl.idl @@ -337,6 +337,42 @@ interface IShellFolder2 : IShellFolder HRESULT MapColumnToSCID( [in] UINT iColumn, [in] SHCOLUMNID *pscid ); } +/***************************************************************************** + * IShellItem interface + */ +[ + object, + uuid(43826d1e-e718-42ee-bc55-a1e261c37bfe), + pointer_default(unique) +] +interface IShellItem : IUnknown +{ + typedef DWORD SIGDN; + + typedef DWORD SICHINT; + + HRESULT BindToHandler( + [in] IBindCtx *pbc, + [in] REFGUID rbhid, + [in] REFIID riid, + [out, iid_is(riid)] void **ppvOut); + + HRESULT GetParent( [out] IShellItem **ppsi ); + + HRESULT GetDisplayName( + [in] SIGDN sigdnName, + [out] LPWSTR *ppszName); + + HRESULT GetAttributes( + [in] SFGAOF sfgaoMask, + [out] SFGAOF *psfgaoAttribs); + + HRESULT Compare( + [in] IShellItem *psi, + [in] SICHINT hint, + [out] int *piOrder); +} + /***************************************************************************** -- 1.5.4.3