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.

130 lines
3.8 KiB

  1. #if !defined(AFX_VSSPROP_H__CB712178_310D_4459_9927_E0CAF69C7FA1__INCLUDED_)
  2. #define AFX_VSSPROP_H__CB712178_310D_4459_9927_E0CAF69C7FA1__INCLUDED_
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. // CVSSProp.h : header file
  7. //
  8. #include "utils.h"
  9. #include <shlobj.h>
  10. #include <vsmgmt.h>
  11. #include <vscoordint.h>
  12. #define WM_SETPAGEFOCUS WM_APP+2
  13. /////////////////////////////////////////////////////////////////////////////
  14. // CVSSProp dialog
  15. class CVSSProp : public CPropertyPage
  16. {
  17. DECLARE_DYNCREATE(CVSSProp)
  18. // Construction
  19. public:
  20. CVSSProp();
  21. CVSSProp(LPCTSTR pszComputer, LPCTSTR pszVolume);
  22. ~CVSSProp();
  23. // Dialog Data
  24. //{{AFX_DATA(CVSSProp)
  25. enum { IDD = IDD_VSSPROP };
  26. CButton m_ctrlSettings;
  27. CButton m_ctrlDisable;
  28. CButton m_ctrlEnable;
  29. CListCtrl m_ctrlVolumeList;
  30. CListCtrl m_ctrlSnapshotList;
  31. CButton m_ctrlDelete;
  32. CButton m_ctrlCreate;
  33. //}}AFX_DATA
  34. // Overrides
  35. // ClassWizard generate virtual function overrides
  36. //{{AFX_VIRTUAL(CVSSProp)
  37. public:
  38. virtual BOOL OnSetActive();
  39. protected:
  40. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  41. //}}AFX_VIRTUAL
  42. // Implementation
  43. public:
  44. void _ResetInterfacePointers();
  45. HRESULT InitInterfacePointers();
  46. HRESULT GetVolumes();
  47. HRESULT StoreShellExtPointer(IShellPropSheetExt* piShellExt);
  48. HRESULT InsertVolumeInfo(HWND hwnd);
  49. HRESULT UpdateDiffArea();
  50. HRESULT UpdateDiffArea(int nIndex, LPCTSTR pszVolumeName);
  51. HRESULT InsertDiffAreaInfo(HWND hwnd);
  52. HRESULT InsertShareInfo(HWND hwnd);
  53. HRESULT UpdateSchedule();
  54. HRESULT UpdateSchedule(int nIndex, LPCTSTR pszVolumeName);
  55. void UpdateSchedule(ITask * i_piTask, int nIndex);
  56. HRESULT InsertScheduleInfo(HWND hwnd);
  57. void SelectVolume(HWND hwnd, LPCTSTR pszVolume);
  58. HRESULT GetSnapshots(LPCTSTR pszVolume);
  59. HRESULT UpdateSnapshotList();
  60. HRESULT TakeOneSnapshotNow(IN LPCTSTR pszVolumeName);
  61. HRESULT DoEnable();
  62. HRESULT DoDisable();
  63. HRESULT DeleteAllSnapshotsOnVolume(IN LPCTSTR pszVolumeName);
  64. void UpdateEnableDisableButtons();
  65. protected:
  66. BOOL m_bHideAllControls;
  67. CString m_strComputer;
  68. BOOL m_bCluster;
  69. CString m_strSelectedVolume;
  70. CString m_strDisabled;
  71. HIMAGELIST m_hImageList;
  72. CComPtr<IShellPropSheetExt> m_spiShellExt;
  73. CComPtr<IVssSnapshotMgmt> m_spiMgmt;
  74. CComPtr<IVssCoordinator> m_spiCoord;
  75. CComPtr<IVssDifferentialSoftwareSnapshotMgmt> m_spiDiffSnapMgmt;
  76. CComPtr<ITaskScheduler> m_spiTS;
  77. VSSUI_VOLUME_LIST m_VolumeList;
  78. VSSUI_SNAPSHOT_LIST m_SnapshotList;
  79. int m_nScrollbarWidth;
  80. int m_nSnapshotListColumnWidth;
  81. int m_nSnapshotListCountPerPage;
  82. // Generated message map functions
  83. //{{AFX_MSG(CVSSProp)
  84. afx_msg void OnCreateNow();
  85. afx_msg void OnDeleteNow();
  86. afx_msg void OnItemchangedSnapshotList(NMHDR* pNMHDR, LRESULT* pResult);
  87. afx_msg void OnItemchangedVolumeList(NMHDR* pNMHDR, LRESULT* pResult);
  88. afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
  89. afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo);
  90. virtual BOOL OnInitDialog();
  91. afx_msg void OnEnable();
  92. afx_msg void OnDisable();
  93. afx_msg void OnSettings();
  94. afx_msg void OnHelpLink(NMHDR* pNMHDR, LRESULT* pResult);
  95. //}}AFX_MSG
  96. DECLARE_MESSAGE_MAP()
  97. LRESULT OnSetPageFocus(WPARAM wParam, LPARAM lParam);
  98. };
  99. //{{AFX_INSERT_LOCATION}}
  100. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  101. #endif // !defined(AFX_VSSPROP_H__CB712178_310D_4459_9927_E0CAF69C7FA1__INCLUDED_)