- add prototype for SHCreateDefaultContextMenu and CDefFolderMenu_Create2

These functions are responsible for creating the right context menu for the requested shell item. 

svn path=/trunk/; revision=29552
This commit is contained in:
Johannes Anderwald 2007-10-13 20:40:00 +00:00
parent 72595c9315
commit 6066286913
2 changed files with 43 additions and 0 deletions

View file

@ -1372,6 +1372,28 @@ HRESULT WINAPI ILSaveToStream(LPSTREAM,LPCITEMIDLIST);
#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) */

View file

@ -1326,3 +1326,24 @@ interface IFileSystemBindData : IUnknown
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);
}