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.

139 lines
3.3 KiB

  1. /*++
  2. Module Name:
  3. JPProp.h
  4. Abstract:
  5. This module contains the declaration for CReplicaSetPropPage
  6. This is used to implement the property page for Junction Point(aka Replica Set)
  7. --*/
  8. #ifndef __CREPLICA_SET_PROPPAGE_H_
  9. #define __CREPLICA_SET_PROPPAGE_H_
  10. #include "qwizpage.h" // The base class that implements the common functionality
  11. // of property and wizard pages
  12. #include "DfsCore.h"
  13. #define WM_SETPAGEFOCUS WM_APP+2
  14. // ----------------------------------------------------------------------------
  15. // CReplicaSetPropPage: Property Sheet Page for the Junction Point(Replica Set)
  16. class CReplicaSetPropPage : public CQWizardPageImpl<CReplicaSetPropPage>
  17. {
  18. public:
  19. enum { IDD = IDD_JP_PROP };
  20. BEGIN_MSG_MAP(CReplicaSetPropPage)
  21. MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
  22. MESSAGE_HANDLER(WM_SETPAGEFOCUS, OnSetPageFocus)
  23. MESSAGE_HANDLER(WM_HELP, OnCtxHelp)
  24. MESSAGE_HANDLER(WM_CONTEXTMENU, OnCtxMenuHelp)
  25. MESSAGE_HANDLER(WM_PARENT_NODE_CLOSING, OnParentClosing)
  26. COMMAND_ID_HANDLER(IDC_REPLICA_SET_COMMENT, OnComment)
  27. COMMAND_ID_HANDLER(IDC_REFFERAL_TIME, OnReferralTime)
  28. CHAIN_MSG_MAP(CQWizardPageImpl<CReplicaSetPropPage>)
  29. END_MSG_MAP()
  30. CReplicaSetPropPage(
  31. );
  32. ~CReplicaSetPropPage(
  33. );
  34. LRESULT OnInitDialog(
  35. IN UINT i_uMsg,
  36. IN WPARAM i_wParam,
  37. LPARAM i_lParam,
  38. IN OUT BOOL& io_bHandled
  39. );
  40. LRESULT OnCtxHelp(
  41. IN UINT i_uMsg,
  42. IN WPARAM i_wParam,
  43. IN LPARAM i_lParam,
  44. IN OUT BOOL& io_bHandled
  45. );
  46. LRESULT OnCtxMenuHelp(
  47. IN UINT i_uMsg,
  48. IN WPARAM i_wParam,
  49. IN LPARAM i_lParam,
  50. IN OUT BOOL& io_bHandled
  51. );
  52. // Message handlers
  53. LRESULT OnApply(
  54. );
  55. LRESULT OnComment(
  56. IN WORD i_wNotifyCode,
  57. IN WORD i_wID,
  58. IN HWND i_hWndCtl,
  59. IN OUT BOOL& io_bHandled
  60. );
  61. LRESULT OnReferralTime(
  62. IN WORD i_wNotifyCode,
  63. IN WORD i_wID,
  64. IN HWND i_hWndCtl,
  65. IN OUT BOOL& io_bHandled
  66. );
  67. // Used by the node to tell the propery page to close.
  68. LRESULT OnParentClosing(
  69. IN UINT i_uMsg,
  70. IN WPARAM i_wParam,
  71. LPARAM i_lParam,
  72. IN OUT BOOL& io_bHandled
  73. );
  74. LRESULT OnSetPageFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  75. BOOL OnSetActive();
  76. // Used to set notification data
  77. HRESULT SetNotifyData(
  78. IN LONG_PTR i_lNotifyHandle,
  79. IN LPARAM i_lParam
  80. );
  81. void _ReSet();
  82. HRESULT Initialize(
  83. IN IDfsRoot* i_piDfsRoot,
  84. IN IDfsJunctionPoint* i_piDfsJPObject
  85. );
  86. HRESULT _Save(
  87. IN BSTR i_bstrJPComment,
  88. IN long i_lTimeout
  89. );
  90. private:
  91. CComPtr<IDfsRoot> m_piDfsRoot;
  92. CComPtr<IDfsJunctionPoint> m_piDfsJPObject;
  93. CComBSTR m_bstrJPEntryPath;
  94. CComBSTR m_bstrJPComment;
  95. long m_lReferralTime;
  96. LONG_PTR m_lNotifyHandle;
  97. LPARAM m_lNotifyParam;
  98. BOOL m_bDfsRoot;
  99. BOOL m_bHideTimeout;
  100. };
  101. #endif // __CREPLICA_SET_PROPPAGE_H_