Vincent Povirk : include: Add IShellItem to headers.

Alexandre Julliard julliard at winehq.org
Tue Feb 24 10:21:38 CST 2009


Module: wine
Branch: master
Commit: 66258ccc29b00e983d975378227d322cb07bd73c
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=66258ccc29b00e983d975378227d322cb07bd73c

Author: Vincent Povirk <vincent at codeweavers.com>
Date:   Sat Feb  7 14:53:17 2009 -0600

include: 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..e73c5d2 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 SICHINTF;
+
+    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] SICHINTF hint,
+        [out] int *piOrder);
+}
+
 
 
 /*****************************************************************************




More information about the wine-cvs mailing list