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.

119 lines
3.3 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 2000 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // CClusDBForm.h
  7. //
  8. // Description:
  9. // Header file for CClusDBForm class.
  10. // The CClusDBForm class is an action that creates the cluster database
  11. // during a cluster formation.
  12. //
  13. // Implementation Files:
  14. // CClusDBForm.cpp
  15. //
  16. // Maintained By:
  17. // Vij Vasu (Vvasu) 03-MAR-2000
  18. //
  19. //////////////////////////////////////////////////////////////////////////////
  20. // Make sure that this file is included only once per compile path.
  21. #pragma once
  22. //////////////////////////////////////////////////////////////////////////
  23. // Include Files
  24. //////////////////////////////////////////////////////////////////////////
  25. // For the CClusDB base class
  26. #include "CClusDB.h"
  27. //////////////////////////////////////////////////////////////////////////
  28. // Forward declaration
  29. //////////////////////////////////////////////////////////////////////////
  30. class CBaseClusterForm;
  31. //////////////////////////////////////////////////////////////////////////////
  32. //++
  33. //
  34. // class CClusDBForm
  35. //
  36. // Description:
  37. // The CClusDBForm class is an action that creates the cluster database
  38. // during a cluster formation.
  39. //
  40. //--
  41. //////////////////////////////////////////////////////////////////////////////
  42. class CClusDBForm : public CClusDB
  43. {
  44. public:
  45. //////////////////////////////////////////////////////////////////////////
  46. // Constructors and destructors
  47. //////////////////////////////////////////////////////////////////////////
  48. // Constructor.
  49. CClusDBForm( CBaseClusterForm * pcfClusterFormIn );
  50. // Default destructor.
  51. ~CClusDBForm();
  52. //////////////////////////////////////////////////////////////////////////
  53. // Public methods
  54. //////////////////////////////////////////////////////////////////////////
  55. //
  56. // Create the ClusDB.
  57. //
  58. void Commit();
  59. //
  60. // Rollback this creation.
  61. //
  62. void Rollback();
  63. // Returns the number of progress messages that this action will send.
  64. UINT
  65. UiGetMaxProgressTicks() const throw()
  66. {
  67. //
  68. // The three notifications are:
  69. // 1. Cleaning up any old cluster database files that may exist.
  70. // 2. Creating cluster database.
  71. // 3. Customizing cluster database.
  72. //
  73. return 3;
  74. }
  75. private:
  76. //////////////////////////////////////////////////////////////////////////
  77. // Private types
  78. //////////////////////////////////////////////////////////////////////////
  79. typedef CClusDB BaseClass;
  80. //////////////////////////////////////////////////////////////////////////
  81. // Private methods
  82. //////////////////////////////////////////////////////////////////////////
  83. // Create the cluster database.
  84. void Create();
  85. // Make the entries required by the cluster service in the hive.
  86. void PopulateHive( CBaseClusterForm * pcfClusterFormIn );
  87. // Customize the cluster group and the core resources.
  88. void CustomizeClusterGroup(
  89. CBaseClusterForm * pcfClusterFormIn
  90. , CRegistryKey & rkClusterHiveRootIn
  91. );
  92. }; //*** class CClusDBForm