windows-nt/Source/XPSP1/NT/shell/browseui/browmenu.h
2020-09-26 16:20:57 +08:00

53 lines
1.7 KiB
C++

#ifndef _BROWMENU_H_
#define _BROWMENU_H_
#include "cowsite.h"
// IShellMenuCallback implementation
class CFavoritesCallback : public IShellMenuCallback,
public CObjectWithSite
{
public:
// *** IUnknown methods ***
STDMETHODIMP QueryInterface (REFIID riid, LPVOID * ppvObj);
STDMETHODIMP_(ULONG) AddRef();
STDMETHODIMP_(ULONG) Release();
// *** CObjectWithSite methods (override)***
STDMETHODIMP SetSite(IUnknown* punk);
// *** IShellMenuCallback methods ***
STDMETHODIMP CallbackSM(LPSMDATA smd, UINT uMsg, WPARAM wParam, LPARAM lParam);
CFavoritesCallback();
private:
virtual ~CFavoritesCallback();
int _cRef;
BOOL _fOffline;
BOOL _fRefresh;
BOOL _fExpandoMenus;
BOOL _fShowingTip;
HRESULT _GetHmenuInfo(HMENU hMenu, UINT uId, SMINFO* psminfo);
HRESULT _SelectItem(LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidl);
HRESULT _Init(HMENU hMenu, UINT uIdParent, IUnknown* punk);
HRESULT _Exit();
HRESULT _GetObject(LPSMDATA psmd, REFIID riid, void** ppvObj);
HRESULT _GetDefaultIcon(TCHAR* psz, int* piIndex);
HRESULT _GetSFInfo(SMDATA* psmd, SMINFO* psminfo);
HRESULT _Demote(LPSMDATA psmd);
HRESULT _Promote(LPSMDATA psmd);
HRESULT _HandleNew(LPSMDATA psmd);
DWORD _GetDemote(SMDATA* psmd);
HRESULT _GetTip(LPTSTR pstrTitle, LPTSTR pstrTip);
HRESULT _ProcessChangeNotify(SMDATA* psmd, LONG lEvent,
LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2);
BOOL _AllowDrop(IDataObject* pIDataObject, HWND hwnd);
IShellMenu* _psmFavCache;
void _RefreshItem(HMENU hmenu, int idCmd, IShellMenu* psm);
};
#endif