Nikolay Sivov : shell32: Move IShellIcon definition to idl source.

Alexandre Julliard julliard at winehq.org
Mon Apr 19 11:51:19 CDT 2010


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

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Sun Apr 18 18:54:43 2010 +0400

shell32: Move IShellIcon definition to idl source.

---

 include/shlguid.h    |    1 -
 include/shlobj.h     |   27 ---------------------------
 include/shobjidl.idl |   15 +++++++++++++++
 3 files changed, 15 insertions(+), 28 deletions(-)

diff --git a/include/shlguid.h b/include/shlguid.h
index 88d70ce..0055d38 100644
--- a/include/shlguid.h
+++ b/include/shlguid.h
@@ -38,7 +38,6 @@ DEFINE_OLEGUID(CGID_ShellDocView,       0x000214D1L, 0, 0);
 DEFINE_OLEGUID(CGID_ShellServiceObject, 0x000214D2L, 0, 0);
 DEFINE_OLEGUID(CGID_ExplorerBarDoc,     0x000214D3L, 0, 0);
 
-DEFINE_OLEGUID(IID_IShellIcon,          0x000214E5L, 0, 0);
 DEFINE_OLEGUID(IID_IShellDetails,       0x000214ECL, 0, 0);
 DEFINE_OLEGUID(IID_IDelayedRelease,     0x000214EDL, 0, 0);
 DEFINE_OLEGUID(IID_IShellCopyHookA,     0x000214EFL, 0, 0);
diff --git a/include/shlobj.h b/include/shlobj.h
index a463ca1..df1fc93 100644
--- a/include/shlobj.h
+++ b/include/shlobj.h
@@ -369,33 +369,6 @@ DECLARE_INTERFACE_(IShellDetails, IUnknown)
 #define IShellDetails_ColumnClick(p,a)         (p)->lpVtbl->ColumnClick(p,a)
 #endif
 
-/****************************************************************************
- * IShellIcon interface
- */
-
-#define INTERFACE IShellIcon
-DECLARE_INTERFACE_(IShellIcon,IUnknown)
-{
-    /*** IUnknown methods ***/
-    STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
-    STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-    STDMETHOD_(ULONG,Release)(THIS) PURE;
-    /*** IShellIcon methods ***/
-    STDMETHOD(GetIconOf)(THIS_ LPCITEMIDLIST pidl, UINT flags, LPINT lpIconIndex) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IShellIcon_QueryInterface(p,a,b)      (p)->lpVtbl->QueryInterface(p,a,b)
-#define IShellIcon_AddRef(p)                  (p)->lpVtbl->AddRef(p)
-#define IShellIcon_Release(p)                 (p)->lpVtbl->Release(p)
-/*** IShellIcon methods ***/
-#define IShellIcon_GetIconOf(p,a,b,c)         (p)->lpVtbl->GetIconOf(p,a,b,c)
-#endif
-
-typedef IShellIcon *LPSHELLICON;
-
 /* IQueryInfo interface */
 #define INTERFACE IQueryInfo
 DECLARE_INTERFACE_(IQueryInfo,IUnknown)
diff --git a/include/shobjidl.idl b/include/shobjidl.idl
index a050b39..7c4fb78 100644
--- a/include/shobjidl.idl
+++ b/include/shobjidl.idl
@@ -422,6 +422,21 @@ typedef struct
 } FOLDERSETTINGS, *PFOLDERSETTINGS, *LPFOLDERSETTINGS;
 typedef const FOLDERSETTINGS *LPCFOLDERSETTINGS;
 
+/*****************************************************************************
+ * IShellIcon interface
+ */
+[
+    uuid(000214e5-0000-0000-c000-000000000046),
+    object,
+    pointer_default(unique)
+]
+interface IShellIcon : IUnknown
+{
+    HRESULT GetIconOf(
+        [in] PCUITEMID_CHILD pidl,
+        [in] UINT flags,
+        [out] int *pIconIndex);
+}
 
 /*****************************************************************************
  * IShellView interface




More information about the wine-cvs mailing list