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.

118 lines
3.3 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 2000 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // CClusDB.h
  7. //
  8. // Description:
  9. // Header file for CClusDB class.
  10. // The CClusDB class performs operations that are common to many
  11. // configuration tasks of the cluster database.
  12. //
  13. // Implementation Files:
  14. // CClusDB.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 CAction base class
  26. #include "CAction.h"
  27. // For SetupInstallFromInfSection
  28. #include <setupapi.h>
  29. //////////////////////////////////////////////////////////////////////////
  30. // Forward declaration
  31. //////////////////////////////////////////////////////////////////////////
  32. class CBaseClusterAction;
  33. //////////////////////////////////////////////////////////////////////////////
  34. //++
  35. //
  36. // class CClusDB
  37. //
  38. // Description:
  39. // The CClusDB class performs operations that are common to many
  40. // configuration tasks of the cluster database.
  41. //
  42. // This class is intended to be used as the base class for other cluster
  43. // database related action classes.
  44. //
  45. //--
  46. //////////////////////////////////////////////////////////////////////////////
  47. class CClusDB : public CAction
  48. {
  49. protected:
  50. //////////////////////////////////////////////////////////////////////////
  51. // Protected constructors and destructors
  52. //////////////////////////////////////////////////////////////////////////
  53. // Constructor.
  54. CClusDB(
  55. CBaseClusterAction * pbcaParentActionIn
  56. );
  57. // Default destructor.
  58. ~CClusDB();
  59. //////////////////////////////////////////////////////////////////////////
  60. // Protected methods
  61. //////////////////////////////////////////////////////////////////////////
  62. // Cleanup and remove the hive.
  63. void
  64. CleanupHive();
  65. // Create the cluster hive in the registry.
  66. void
  67. CreateHive( CBaseClusterAction * pbcaClusterActionIn );
  68. //////////////////////////////////////////////////////////////////////////
  69. // Protected accessors
  70. //////////////////////////////////////////////////////////////////////////
  71. // Get the parent action
  72. CBaseClusterAction *
  73. PbcaGetParent() throw()
  74. {
  75. return m_pbcaParentAction;
  76. }
  77. private:
  78. //////////////////////////////////////////////////////////////////////////
  79. // Private member functions
  80. //////////////////////////////////////////////////////////////////////////
  81. // Copy constructor
  82. CClusDB( const CClusDB & );
  83. // Assignment operator
  84. const CClusDB & operator =( const CClusDB & );
  85. //////////////////////////////////////////////////////////////////////////
  86. // Private data
  87. //////////////////////////////////////////////////////////////////////////
  88. // Pointer to the base cluster action of which this action is a part.
  89. CBaseClusterAction * m_pbcaParentAction;
  90. }; //*** class CClusDB