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.3 KiB

  1. /////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 1996-1999 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // Disks.cpp
  7. //
  8. // Abstract:
  9. // Definition of the CPhysDiskParamsPage class, which implements the
  10. // Parameters page for Physical Disk resources.
  11. //
  12. // Implementation File:
  13. // Disks.cpp
  14. //
  15. // Author:
  16. // David Potter (davidp) June 28, 1996
  17. //
  18. // Revision History:
  19. //
  20. // Notes:
  21. //
  22. /////////////////////////////////////////////////////////////////////////////
  23. #ifndef _DISKS_H_
  24. #define _DISKS_H_
  25. /////////////////////////////////////////////////////////////////////////////
  26. // Include Files
  27. /////////////////////////////////////////////////////////////////////////////
  28. #ifndef __cluadmex_h__
  29. #include <CluAdmEx.h>
  30. #endif
  31. #ifndef _BASEPAGE_H_
  32. #include "BasePage.h" // for CBasePropertyPage
  33. #endif
  34. /////////////////////////////////////////////////////////////////////////////
  35. // Forward Class Declarations
  36. /////////////////////////////////////////////////////////////////////////////
  37. class CPhysDiskParamsPage;
  38. /////////////////////////////////////////////////////////////////////////////
  39. // External Class Declarations
  40. /////////////////////////////////////////////////////////////////////////////
  41. class CClusPropList;
  42. /////////////////////////////////////////////////////////////////////////////
  43. // CPhysDiskParamsPage dialog
  44. /////////////////////////////////////////////////////////////////////////////
  45. class CPhysDiskParamsPage : public CBasePropertyPage
  46. {
  47. DECLARE_DYNCREATE(CPhysDiskParamsPage)
  48. // Construction
  49. public:
  50. CPhysDiskParamsPage(void);
  51. ~CPhysDiskParamsPage(void);
  52. // Second phase construction.
  53. virtual HRESULT HrInit(IN OUT CExtObject * peo);
  54. // Dialog Data
  55. //{{AFX_DATA(CPhysDiskParamsPage)
  56. enum { IDD = IDD_PP_DISKS_PARAMETERS};
  57. CComboBox m_cboxDisk;
  58. CString m_strDisk;
  59. //}}AFX_DATA
  60. CString m_strPrevDisk;
  61. DWORD m_dwSignature;
  62. DWORD m_dwPrevSignature;
  63. protected:
  64. enum
  65. {
  66. epropSignature,
  67. epropMAX
  68. };
  69. CObjectProperty m_rgProps[epropMAX];
  70. // Overrides
  71. public:
  72. // ClassWizard generate virtual function overrides
  73. //{{AFX_VIRTUAL(CPhysDiskParamsPage)
  74. public:
  75. virtual BOOL OnSetActive();
  76. protected:
  77. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  78. //}}AFX_VIRTUAL
  79. protected:
  80. virtual BOOL BApplyChanges(void);
  81. virtual const CObjectProperty * Pprops(void) const { return m_rgProps; }
  82. virtual DWORD Cprops(void) const { return sizeof(m_rgProps) / sizeof(CObjectProperty); }
  83. // Implementation
  84. protected:
  85. PBYTE m_pbAvailDiskInfo;
  86. DWORD m_cbAvailDiskInfo;
  87. PBYTE m_pbDiskInfo;
  88. DWORD m_cbDiskInfo;
  89. CLUSTER_RESOURCE_STATE m_crs;
  90. BOOL BGetAvailableDisks(void);
  91. BOOL BGetDiskInfo(void);
  92. BOOL BStringFromDiskInfo(
  93. IN OUT CLUSPROP_BUFFER_HELPER & rbuf,
  94. IN DWORD cbBuf,
  95. OUT CString & rstr,
  96. OUT DWORD * pdwSignature = NULL
  97. ) const;
  98. void FillList(void);
  99. // Generated message map functions
  100. //{{AFX_MSG(CPhysDiskParamsPage)
  101. virtual BOOL OnInitDialog();
  102. afx_msg void OnChangeDisk();
  103. //}}AFX_MSG
  104. DECLARE_MESSAGE_MAP()
  105. }; //*** class CPhysDiskParamsPage
  106. /////////////////////////////////////////////////////////////////////////////
  107. #endif // _DISKS_H_