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.

96 lines
2.3 KiB

  1. //\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\
  2. //
  3. // proppgs.h
  4. //
  5. // IShellPropSheetExt menu interface for items.
  6. //
  7. // History:
  8. //
  9. // 3/26/97 edwardp Created.
  10. //
  11. ////////////////////////////////////////////////////////////////////////////////
  12. //
  13. // Check for previous includes of this file.
  14. //
  15. #ifndef _PROPPGS_H_
  16. #define _PROPPGS_H_
  17. //
  18. // Class definition for the item context menu class.
  19. //
  20. class CPropertyPages : public IShellPropSheetExt,
  21. public IShellExtInit
  22. {
  23. //
  24. // Methods
  25. //
  26. public:
  27. // Constructor
  28. CPropertyPages(void);
  29. // IUnknown
  30. STDMETHODIMP QueryInterface(REFIID, void **);
  31. STDMETHODIMP_(ULONG) AddRef(void);
  32. STDMETHODIMP_(ULONG) Release(void);
  33. // IShellPropSheetExt
  34. STDMETHODIMP AddPages(LPFNADDPROPSHEETPAGE lpfnAddPage, LPARAM lParam);
  35. STDMETHODIMP ReplacePage(UINT uPageID, LPFNADDPROPSHEETPAGE lpfnAddPage,
  36. LPARAM lParam);
  37. // IShellExtInit
  38. STDMETHODIMP Initialize(LPCITEMIDLIST pidl, LPDATAOBJECT pdobj, HKEY hkey);
  39. private:
  40. // Destructor.
  41. ~CPropertyPages(void);
  42. // Helper functions.
  43. BOOL OnInitDialog(HWND hdlg);
  44. BOOL OnCommand(HWND hdlg, WORD wNotifyCode, WORD wID, HWND hwndCtl);
  45. BOOL OnNotify(HWND hdlg, WPARAM idCtrl, LPNMHDR pnmh);
  46. void OnDestroy(HWND hdlg);
  47. void ShowOfflineSummary(HWND hdlg, BOOL bShow);
  48. void AddRemoveSubsPages(HWND hdlg, BOOL bAdd);
  49. HRESULT InitializeSubsMgr2();
  50. static INT_PTR PropSheetDlgProc(HWND hdlg, UINT msg, WPARAM wParam, LPARAM lParam);
  51. static UINT PropSheetCallback(HWND hwnd, UINT uMsg, LPPROPSHEETPAGE ppsp);
  52. inline static CPropertyPages *GetThis(HWND hdlg)
  53. {
  54. CPropertyPages *pThis = (CPropertyPages*) GetWindowLongPtr(hdlg, DWLP_USER);
  55. ASSERT(NULL != pThis);
  56. return pThis;
  57. }
  58. //
  59. // Member variables.
  60. //
  61. private:
  62. ULONG m_cRef;
  63. ISubscriptionMgr2* m_pSubscriptionMgr2;
  64. IDataObject* m_pInitDataObject;
  65. TCHAR m_szPath[MAX_PATH];
  66. TCHAR m_szURL[INTERNET_MAX_URL_LENGTH];
  67. WORD m_wHotkey;
  68. BOOL m_bStartSubscribed;
  69. };
  70. #endif // _PROPPGS_H_