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

41 lines
1 KiB
C++

// CISFMenuCallback implementation
#ifndef _ISFMENU_H
#define _ISFMENU_H
#include "cowsite.h"
class CISFMenuCallback : public IShellMenuCallback,
public CObjectWithSite
{
public:
// *** IUnknown methods ***
STDMETHODIMP QueryInterface (REFIID riid, LPVOID * ppvObj);
STDMETHODIMP_(ULONG) AddRef();
STDMETHODIMP_(ULONG) Release();
// *** IShellMenuCallback methods ***
STDMETHODIMP CallbackSM(LPSMDATA smd, UINT uMsg, WPARAM wParam, LPARAM lParam);
// *** IObjectWithSite methods ***
STDMETHODIMP SetSite(IUnknown* punkSite);
CISFMenuCallback();
HRESULT Initialize(IUnknown* punk);
private:
virtual ~CISFMenuCallback();
HRESULT _GetObject(LPSMDATA psmd, REFIID riid, void** ppvObj);
HRESULT _SetObject(LPSMDATA psmd, REFIID riid, void** ppvObj);
BOOL _IsVisible(LPITEMIDLIST pidl);
HRESULT _GetSFInfo(LPSMDATA psmd, PSMINFO psminfo);
int _cRef;
IOleCommandTarget* _poct; // our isfband subject
IUnknown* _punkSite;
LPITEMIDLIST _pidl;
};
#endif // _ISFMENU_H