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