Index: wine/include/shlobj.h =================================================================== RCS file: /home/wine/wine/include/shlobj.h,v retrieving revision 1.116 diff -u -r1.116 shlobj.h --- wine/include/shlobj.h 26 Sep 2007 12:47:14 -0000 1.116 +++ wine/include/shlobj.h 13 Oct 2007 20:49:54 -0000 @@ -371,6 +371,28 @@ void WINAPI SHAddToRecentDocs(UINT,LPCVOID); /**************************************************************************** + * 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 **); + +/**************************************************************************** * SHBrowseForFolder API */ typedef INT (CALLBACK *BFFCALLBACK)(HWND,UINT,LPARAM,LPARAM); Index: wine/include/shobjidl.idl =================================================================== RCS file: /home/wine/wine/include/shobjidl.idl,v retrieving revision 1.12 diff -u -r1.12 shobjidl.idl --- wine/include/shobjidl.idl 10 Sep 2007 15:19:24 -0000 1.12 +++ wine/include/shobjidl.idl 13 Oct 2007 20:49:55 -0000 @@ -1328,3 +1328,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); + +}