Author: janderwald Date: Sun Oct 14 00:40:00 2007 New Revision: 29552
URL: http://svn.reactos.org/svn/reactos?rev=29552&view=rev Log: - add prototype for SHCreateDefaultContextMenu and CDefFolderMenu_Create2 These functions are responsible for creating the right context menu for the requested shell item.
Modified: trunk/reactos/include/psdk/shlobj.h trunk/reactos/include/psdk/shobjidl.idl
Modified: trunk/reactos/include/psdk/shlobj.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/shlobj.h?rev=2... ============================================================================== --- trunk/reactos/include/psdk/shlobj.h (original) +++ trunk/reactos/include/psdk/shlobj.h Sun Oct 14 00:40:00 2007 @@ -1372,6 +1372,28 @@
#include <poppack.h>
+/**************************************************************************** + * SHCreateDefaultContextMenu API + */ + +typedef struct +{ + HWND hwnd; + IContextMenuCB *pcmcb; + LPCITEMIDLIST pidlFolder; + IShellFolder *psf; + UINT cidl; + LPCITEMIDLIST* apidl; + IUnknown *punkAssociationInfo; + UINT cKeys; + const HKEY *aKeys; +}DEFCONTEXTMENU; + +HRESULT SHCreateDefaultContextMenu(const DEFCONTEXTMENU *,REFIID,void **ppv); + +typedef HRESULT (CALLBACK * LPFNDFMCALLBACK)(IShellFolder*,HWND,IDataObject*,UINT,WPARAM,LPARAM); +INT CDefFolderMenu_Create2(LPCITEMIDLIST,HWND,UINT,LPCITEMIDLIST*,IShellFolder*,LPFNDFMCALLBACK,UINT,HKEY *,IContextMenu **); + #ifdef __cplusplus } /* extern "C" */ #endif /* defined(__cplusplus) */
Modified: trunk/reactos/include/psdk/shobjidl.idl URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/shobjidl.idl?r... ============================================================================== --- trunk/reactos/include/psdk/shobjidl.idl (original) +++ trunk/reactos/include/psdk/shobjidl.idl Sun Oct 14 00:40:00 2007 @@ -1326,3 +1326,24 @@ HRESULT GetFindData( [out] WIN32_FIND_DATAW *pfd); } + +/***************************************************************************** + * IContextMenuCB interface + */ + +[ + object, + uuid(3409e930-5a39-11d1-83fa-00a0c90dc849), + pointer_default(unique) +] +interface IContextMenuCB : IUnknown +{ + HRESULT CallBack( + [in] IShellFolder *psf, + [in] HWND hwndOwner, + [in] IDataObject *pdtobj, + [in] UINT uMsg, + [in] WPARAM wParam, + [in] LPARAM lParam); + +}