Source code of Windows XP (NT5)
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.

56 lines
2.3 KiB

  1. #include <perhist.h>
  2. #include "cowsite.h"
  3. //----------------------------------------------------------------------
  4. // Class to save and restore find state on the travel log
  5. class CDefViewPersistHistory : public IPersistHistory,
  6. public CObjectWithSite,
  7. public IOleObject
  8. {
  9. public:
  10. CDefViewPersistHistory();
  11. ~CDefViewPersistHistory();
  12. // *** IUnknown Methhods ***
  13. STDMETHOD(QueryInterface)(REFIID riid, void **ppv);
  14. STDMETHOD_(ULONG,AddRef)();
  15. STDMETHOD_(ULONG,Release)();
  16. // Support added to allow search results to serialize
  17. // *** IPersist methods ***
  18. STDMETHOD(GetClassID)(CLSID *pClassID);
  19. // *** IPersistHistory methods ***
  20. STDMETHOD(LoadHistory)(IStream *pStream, IBindCtx *pbc);
  21. STDMETHOD(SaveHistory)(IStream *pStream);
  22. STDMETHOD(SetPositionCookie)(DWORD dwPositioncookie);
  23. STDMETHOD(GetPositionCookie)(DWORD *pdwPositioncookie);
  24. // *** IOleObject methods ***
  25. STDMETHOD(SetClientSite)(IOleClientSite *pClientSite);
  26. STDMETHOD(GetClientSite)(IOleClientSite **ppClientSite);
  27. STDMETHOD(SetHostNames)(LPCOLESTR szContainerApp, LPCOLESTR szContainerObj);
  28. STDMETHOD(Close)(DWORD dwSaveOption);
  29. STDMETHOD(SetMoniker)(DWORD dwWhichMoniker, IMoniker *pmk);
  30. STDMETHOD(GetMoniker)(DWORD dwAssign, DWORD dwWhichMoniker, IMoniker **ppmk);
  31. STDMETHOD(InitFromData)(IDataObject *pDataObject,BOOL fCreation,DWORD dwReserved);
  32. STDMETHOD(GetClipboardData)(DWORD dwReserved,IDataObject **ppDataObject);
  33. STDMETHOD(DoVerb)(LONG iVerb,LPMSG lpmsg,IOleClientSite *pActiveSite,LONG lindex,HWND hwndParent,LPCRECT lprcPosRect);
  34. STDMETHOD(EnumVerbs)(IEnumOLEVERB **ppEnumOleVerb);
  35. STDMETHOD(Update)(void);
  36. STDMETHOD(IsUpToDate)(void);
  37. STDMETHOD(GetUserClassID)(CLSID *pClsid);
  38. STDMETHOD(GetUserType)(DWORD dwFormOfType, LPOLESTR *pszUserType);
  39. STDMETHOD(SetExtent)(DWORD dwDrawAspect, SIZEL *psizel);
  40. STDMETHOD(GetExtent)(DWORD dwDrawAspect, SIZEL *psizel);
  41. STDMETHOD(Advise)(IAdviseSink *pAdvSink, DWORD *pdwConnection);
  42. STDMETHOD(Unadvise)(DWORD dwConnection);
  43. STDMETHOD(EnumAdvise)(IEnumSTATDATA **ppenumAdvise);
  44. STDMETHOD(GetMiscStatus)(DWORD dwAspect, DWORD *pdwStatus);
  45. STDMETHOD(SetColorScheme)(LOGPALETTE *pLogpal);
  46. protected:
  47. LONG m_cRef; // reference count
  48. } ;