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.

140 lines
3.4 KiB

  1. /*++
  2. Module Name:
  3. pubProp.h
  4. Abstract:
  5. --*/
  6. #ifndef __PUBPROP_H_
  7. #define __PUBPROP_H_
  8. #include "dfscore.h"
  9. #include "dfsenums.h"
  10. #include "qwizpage.h" // The base class that implements the common functionality
  11. // of property and wizard pages
  12. // ----------------------------------------------------------------------------
  13. // CPublishPropPage: Property Page for publishing root as volume object
  14. class CPublishPropPage : public CQWizardPageImpl<CPublishPropPage>
  15. {
  16. public:
  17. enum { IDD = IDD_PUBLISH_PROP };
  18. BEGIN_MSG_MAP(CPublishPropPage)
  19. MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
  20. MESSAGE_HANDLER(WM_HELP, OnCtxHelp)
  21. MESSAGE_HANDLER(WM_CONTEXTMENU, OnCtxMenuHelp)
  22. MESSAGE_HANDLER(WM_PARENT_NODE_CLOSING, OnParentClosing)
  23. COMMAND_ID_HANDLER(IDC_PUBPROP_PUBLISH, OnPublish)
  24. COMMAND_ID_HANDLER(IDC_PUBPROP_DESCRIPTION, OnDescription)
  25. COMMAND_ID_HANDLER(IDC_PUBPROP_KEYWORDS_EDIT, OnEditKeywords)
  26. COMMAND_ID_HANDLER(IDC_PUBPROP_MANAGEDBY, OnManagedBy)
  27. CHAIN_MSG_MAP(CQWizardPageImpl<CPublishPropPage>)
  28. END_MSG_MAP()
  29. CPublishPropPage();
  30. ~CPublishPropPage();
  31. LRESULT OnInitDialog(
  32. IN UINT i_uMsg,
  33. IN WPARAM i_wParam,
  34. LPARAM i_lParam,
  35. IN OUT BOOL& io_bHandled
  36. );
  37. LRESULT OnCtxHelp(
  38. IN UINT i_uMsg,
  39. IN WPARAM i_wParam,
  40. IN LPARAM i_lParam,
  41. IN OUT BOOL& io_bHandled
  42. );
  43. LRESULT OnCtxMenuHelp(
  44. IN UINT i_uMsg,
  45. IN WPARAM i_wParam,
  46. IN LPARAM i_lParam,
  47. IN OUT BOOL& io_bHandled
  48. );
  49. HRESULT Initialize(IN IDfsRoot* i_piDfsRoot);
  50. // Message handlers
  51. LRESULT OnApply(
  52. );
  53. LRESULT OnPublish(
  54. IN WORD i_wNotifyCode,
  55. IN WORD i_wID,
  56. IN HWND i_hWndCtl,
  57. IN OUT BOOL& io_bHandled
  58. );
  59. LRESULT OnDescription(
  60. IN WORD i_wNotifyCode,
  61. IN WORD i_wID,
  62. IN HWND i_hWndCtl,
  63. IN OUT BOOL& io_bHandled
  64. );
  65. LRESULT OnEditKeywords(
  66. IN WORD i_wNotifyCode,
  67. IN WORD i_wID,
  68. IN HWND i_hWndCtl,
  69. IN OUT BOOL& io_bHandled
  70. );
  71. LRESULT OnManagedBy(
  72. IN WORD i_wNotifyCode,
  73. IN WORD i_wID,
  74. IN HWND i_hWndCtl,
  75. IN OUT BOOL& io_bHandled
  76. );
  77. // Used by the node to tell the propery page to close.
  78. LRESULT OnParentClosing(
  79. IN UINT i_uMsg,
  80. IN WPARAM i_wParam,
  81. LPARAM i_lParam,
  82. IN OUT BOOL& io_bHandled
  83. );
  84. // Used to set notification data
  85. HRESULT SetNotifyData(
  86. IN LONG_PTR i_lNotifyHandle,
  87. IN LPARAM i_lParam
  88. );
  89. protected:
  90. void _Reset();
  91. void _Load();
  92. HRESULT _Save(
  93. IN BOOL i_bPublish,
  94. IN BSTR i_bstrDescription,
  95. IN BSTR i_bstrKeywords,
  96. IN BSTR i_bstrManagedBy
  97. );
  98. private:
  99. LONG_PTR m_lNotifyHandle;
  100. LPARAM m_lNotifyParam;
  101. CComPtr<IDfsRoot> m_piDfsRoot;
  102. BOOL m_bPublish;
  103. CComBSTR m_bstrUNCPath;
  104. CComBSTR m_bstrDescription;
  105. CComBSTR m_bstrKeywords;
  106. CComBSTR m_bstrManagedBy;
  107. CComBSTR m_bstrError;
  108. };
  109. #endif // __PUBPROP_H_