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.

107 lines
3.6 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 2002 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // TaskAnalyzeClusterMinConfig.h
  7. //
  8. // Description:
  9. // CTaskAnalyzeClusterMinConfig declaration.
  10. //
  11. // Maintained By:
  12. // Galen Barbee (GalenB) 01-APR-2002
  13. //
  14. //////////////////////////////////////////////////////////////////////////////
  15. // Make sure that this file is included only once per compile path.
  16. #pragma once
  17. //////////////////////////////////////////////////////////////////////////////
  18. // Include Files
  19. //////////////////////////////////////////////////////////////////////////////
  20. #include "TaskAnalyzeClusterBase.h"
  21. #include "TaskTracking.h"
  22. //////////////////////////////////////////////////////////////////////////////
  23. // Constant Declarations
  24. //////////////////////////////////////////////////////////////////////////////
  25. //////////////////////////////////////////////////////////////////////////////
  26. //++
  27. //
  28. // class CTaskAnalyzeClusterMinConfig
  29. //
  30. // Description:
  31. // The class CTaskAnalyzeClusterMinConfig is the implementation of the
  32. // ITaskAnalyzeCluster interface that does minimal analysis and
  33. // configuration. This task is launched from the client when the user
  34. // has chosen the minimal configuration option.
  35. //
  36. // Interfaces:
  37. // ITaskAnalyzeCluster
  38. //
  39. //--
  40. //////////////////////////////////////////////////////////////////////////////
  41. class CTaskAnalyzeClusterMinConfig
  42. : public ITaskAnalyzeCluster
  43. , public CTaskAnalyzeClusterBase
  44. {
  45. private:
  46. CTaskAnalyzeClusterMinConfig( void );
  47. ~CTaskAnalyzeClusterMinConfig( void );
  48. // Private copy constructor to prevent copying.
  49. CTaskAnalyzeClusterMinConfig( const CTaskAnalyzeClusterMinConfig & nodeSrc );
  50. // Private assignment operator to prevent copying.
  51. const CTaskAnalyzeClusterMinConfig & operator = ( const CTaskAnalyzeClusterMinConfig & nodeSrc );
  52. protected:
  53. //
  54. // Overridden functions.
  55. //
  56. virtual HRESULT HrCreateNewResourceInCluster(
  57. IClusCfgManagedResourceInfo * pccmriIn
  58. , BSTR bstrNodeResNameIn
  59. , BSTR * pbstrNodeResUIDInout
  60. , BSTR bstrNodeNameIn
  61. );
  62. virtual HRESULT HrCreateNewResourceInCluster(
  63. IClusCfgManagedResourceInfo * pccmriIn
  64. , IClusCfgManagedResourceInfo ** ppccmriOut
  65. );
  66. virtual HRESULT HrCompareDriveLetterMappings( void );
  67. virtual HRESULT HrFixupErrorCode( HRESULT hrIn );
  68. virtual BOOL BMinimalConfiguration( void ) { return TRUE; };
  69. virtual void GetNodeCannotVerifyQuorumStringRefId( DWORD * pdwRefIdOut );
  70. virtual void GetNoCommonQuorumToAllNodesStringIds( DWORD * pdwMessageIdOut, DWORD * pdwRefIdOut );
  71. virtual HRESULT HrShowLocalQuorumWarning( void );
  72. public:
  73. static HRESULT S_HrCreateInstance( IUnknown ** ppunkOut );
  74. //
  75. // IUnknown
  76. //
  77. STDMETHOD( QueryInterface )( REFIID riidIn, LPVOID * ppvOut );
  78. STDMETHOD_( ULONG, AddRef )( void );
  79. STDMETHOD_( ULONG, Release )( void );
  80. //
  81. // IDoTask / ITaskAnalyzeClusterMinConfig
  82. //
  83. STDMETHOD( BeginTask )( void );
  84. STDMETHOD( StopTask )( void );
  85. STDMETHOD( SetJoiningMode )( void );
  86. STDMETHOD( SetCookie )( OBJECTCOOKIE cookieIn );
  87. STDMETHOD( SetClusterCookie )( OBJECTCOOKIE cookieClusterIn );
  88. }; //*** class CTaskAnalyzeClusterMinConfig