Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
1.1 KiB

  1. // CISFMenuCallback implementation
  2. #ifndef _ISFMENU_H
  3. #define _ISFMENU_H
  4. #include "cowsite.h"
  5. class CISFMenuCallback : public IShellMenuCallback,
  6. public CObjectWithSite
  7. {
  8. public:
  9. // *** IUnknown methods ***
  10. STDMETHODIMP QueryInterface (REFIID riid, LPVOID * ppvObj);
  11. STDMETHODIMP_(ULONG) AddRef();
  12. STDMETHODIMP_(ULONG) Release();
  13. // *** IShellMenuCallback methods ***
  14. STDMETHODIMP CallbackSM(LPSMDATA smd, UINT uMsg, WPARAM wParam, LPARAM lParam);
  15. // *** IObjectWithSite methods ***
  16. STDMETHODIMP SetSite(IUnknown* punkSite);
  17. CISFMenuCallback();
  18. HRESULT Initialize(IUnknown* punk);
  19. private:
  20. virtual ~CISFMenuCallback();
  21. HRESULT _GetObject(LPSMDATA psmd, REFIID riid, void** ppvObj);
  22. HRESULT _SetObject(LPSMDATA psmd, REFIID riid, void** ppvObj);
  23. BOOL _IsVisible(LPITEMIDLIST pidl);
  24. HRESULT _GetSFInfo(LPSMDATA psmd, PSMINFO psminfo);
  25. int _cRef;
  26. IOleCommandTarget* _poct; // our isfband subject
  27. IUnknown* _punkSite;
  28. LPITEMIDLIST _pidl;
  29. };
  30. #endif // _ISFMENU_H