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.

102 lines
3.3 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 2000 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // CTaskUpgrade.h
  7. //
  8. // Description:
  9. // This file contains the declaration of the class CTaskUpgrade.
  10. // This class encapsulates an upgrade of cluster binaries and is
  11. // meant to be used as a base class by other classes that handle
  12. // upgrades from a particular OS version.
  13. //
  14. // Implementation Files:
  15. // CTaskUpgrade.cpp
  16. //
  17. // Maintained By:
  18. // Vij Vasu (Vvasu) 03-MAR-2000
  19. //
  20. //////////////////////////////////////////////////////////////////////////////
  21. #pragma once
  22. //////////////////////////////////////////////////////////////////////////////
  23. // Include Files
  24. //////////////////////////////////////////////////////////////////////////////
  25. // For the base class
  26. #include "CClusOCMTask.h"
  27. //////////////////////////////////////////////////////////////////////////////
  28. // Forward Declarations
  29. //////////////////////////////////////////////////////////////////////////////
  30. class CClusOCMApp;
  31. //////////////////////////////////////////////////////////////////////////////
  32. //++
  33. //
  34. // class CTaskUpgrade
  35. //
  36. // Description:
  37. // This class encapsulates an upgrade of cluster binaries and is
  38. // meant to be used as a base class by other classes that handle
  39. // upgrades from a particular OS version.
  40. //
  41. //--
  42. //////////////////////////////////////////////////////////////////////////////
  43. class CTaskUpgrade : public CClusOCMTask
  44. {
  45. public:
  46. protected:
  47. //////////////////////////////////////////////////////////////////////////
  48. // Protected constructors and destructors
  49. //////////////////////////////////////////////////////////////////////////
  50. // Constructor.
  51. CTaskUpgrade( const CClusOCMApp & rAppIn );
  52. // Destructor
  53. virtual ~CTaskUpgrade( void );
  54. //////////////////////////////////////////////////////////////////////////
  55. // Other protected members
  56. //////////////////////////////////////////////////////////////////////////
  57. // Get the directory in which the cluster service binary resides from the
  58. // Service Control Manager
  59. DWORD
  60. DwGetClusterServiceDirectory( const WCHAR *& rpcszDirNamePtrIn );
  61. // A helper function that processes registry operations, COM component
  62. // registrations, creation of servies, etc., listed in the input section.
  63. DWORD
  64. DwOcCompleteInstallation( const WCHAR * pcszInstallSectionNameIn );
  65. // Registers a COM component for receiving cluster startup notifications
  66. HRESULT
  67. HrRegisterForStartupNotifications( const CLSID & rclsidComponentIn );
  68. private:
  69. //////////////////////////////////////////////////////////////////////////
  70. // Private types
  71. //////////////////////////////////////////////////////////////////////////
  72. typedef CClusOCMTask BaseClass;
  73. //////////////////////////////////////////////////////////////////////////
  74. // Private data
  75. //////////////////////////////////////////////////////////////////////////
  76. // Pointer to the cluster service directory.
  77. SmartSz m_sszClusterServiceDir;
  78. // Flag that indicates if the we know the cluster service directory or not.
  79. bool m_fClusDirFound;
  80. }; //*** class CTaskUpgrade