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.

54 lines
1.8 KiB

  1. #ifndef _DESKHTML_H_
  2. #define _DESKHTML_H_
  3. #include <cowsite.h>
  4. class CDeskHtmlProp : public CObjectCLSID
  5. , public IObjectWithSite
  6. , public IShellExtInit
  7. , public IBasePropPage
  8. , public IPropertyBag
  9. {
  10. // *** IUnknown ***
  11. virtual STDMETHODIMP QueryInterface(REFIID riid, LPVOID *ppvObj);
  12. virtual STDMETHODIMP_(ULONG) AddRef(void);
  13. virtual STDMETHODIMP_(ULONG) Release(void);
  14. // *** IObjectWithSite ***
  15. virtual STDMETHODIMP SetSite(IN IUnknown * punkSite);
  16. virtual STDMETHODIMP GetSite(IN REFIID riid, OUT void ** ppvSite);
  17. // *** IShellExtInit ***
  18. virtual STDMETHODIMP Initialize(IN LPCITEMIDLIST pidlFolder, IN LPDATAOBJECT lpdobj, IN HKEY hkeyProgID);
  19. // *** IShellPropSheetExt ***
  20. virtual STDMETHODIMP AddPages(IN LPFNADDPROPSHEETPAGE lpfnAddPage, IN LPARAM lParam);
  21. virtual STDMETHODIMP ReplacePage(IN UINT uPageID, IN LPFNADDPROPSHEETPAGE lpfnReplaceWith, IN LPARAM lParam);
  22. // *** IPropertyBag ***
  23. virtual STDMETHODIMP Read(IN LPCOLESTR pszPropName, IN VARIANT * pVar, IN IErrorLog *pErrorLog);
  24. virtual STDMETHODIMP Write(IN LPCOLESTR pszPropName, IN VARIANT *pVar);
  25. // *** IBasePropPage ***
  26. virtual STDMETHODIMP GetAdvancedDialog(OUT IAdvancedDialog ** ppAdvDialog);
  27. virtual STDMETHODIMP OnApply(IN PROPPAGEONAPPLY oaAction);
  28. protected:
  29. // Constructor / Destructor
  30. CDeskHtmlProp();
  31. ~CDeskHtmlProp();
  32. // Instance creator
  33. friend HRESULT CDeskHtmlProp_CreateInstance(LPUNKNOWN punkOuter, REFIID riid, void **ppvOut);
  34. private:
  35. // Private member variables
  36. UINT _cRef; // Reference count
  37. IShellPropSheetExt * _pspseBkgdPage; // The Background Page
  38. // Private member functions
  39. HRESULT _InitBackgroundTab(void);
  40. };
  41. #endif