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.

153 lines
3.7 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 1999-2000 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // ClusterGroup.h
  7. //
  8. // Implementation File:
  9. // ClusterGroup.cpp
  10. //
  11. // Description:
  12. // Definition of the CClusterGroup class.
  13. //
  14. // Author:
  15. // Henry Wang (HenryWa) 24-AUG-1999
  16. //
  17. // Notes:
  18. //
  19. //////////////////////////////////////////////////////////////////////////////
  20. #pragma once
  21. //////////////////////////////////////////////////////////////////////////////
  22. // Include Files
  23. //////////////////////////////////////////////////////////////////////////////
  24. #include "ProvBase.h"
  25. #include "ClusterObjAssoc.h"
  26. //////////////////////////////////////////////////////////////////////////////
  27. // Forward Declarations
  28. //////////////////////////////////////////////////////////////////////////////
  29. class CClusterGroup;
  30. //////////////////////////////////////////////////////////////////////////////
  31. //++
  32. //
  33. // class CClusterGroup
  34. //
  35. // Description:
  36. // Provider Implement for cluster Group
  37. //
  38. //--
  39. //////////////////////////////////////////////////////////////////////////////
  40. class CClusterGroup : public CProvBase
  41. {
  42. //
  43. // constructor
  44. //
  45. public:
  46. CClusterGroup::CClusterGroup(
  47. LPCWSTR pwszNameIn,
  48. CWbemServices * pNamespaceIn
  49. );
  50. //
  51. // methods
  52. //
  53. public:
  54. virtual SCODE EnumInstance(
  55. long lFlagsIn,
  56. IWbemContext * pCtxIn,
  57. IWbemObjectSink * pHandlerIn
  58. );
  59. virtual SCODE GetObject(
  60. CObjPath & rObjPathIn,
  61. long lFlagsIn,
  62. IWbemContext * pCtxIn,
  63. IWbemObjectSink * pHandlerIn
  64. );
  65. virtual SCODE ExecuteMethod(
  66. CObjPath & rObjPathIn,
  67. WCHAR * pwszMethodNameIn,
  68. long lFlagIn,
  69. IWbemClassObject * pParamsIn,
  70. IWbemObjectSink * pHandlerIn
  71. ) ;
  72. virtual SCODE PutInstance(
  73. CWbemClassObject & rInstToPutIn,
  74. long lFlagIn,
  75. IWbemContext * pCtxIn,
  76. IWbemObjectSink * pHandlerIn
  77. );
  78. virtual SCODE DeleteInstance(
  79. CObjPath & rObjPathIn,
  80. long lFlagIn,
  81. IWbemContext * pCtxIn,
  82. IWbemObjectSink * pHandlerIn
  83. );
  84. static CProvBase * S_CreateThis(
  85. LPCWSTR pwszNameIn,
  86. CWbemServices * pNamespaceIn,
  87. DWORD dwEnumType = 0
  88. );
  89. protected:
  90. static const SPropMapEntryArray * RgGetPropMap( void );
  91. void ClusterToWMI(
  92. HGROUP hGroupIn,
  93. IWbemObjectSink * pHandlerIn
  94. );
  95. }; //*** class CClusterGroup
  96. //////////////////////////////////////////////////////////////////////////////
  97. //++
  98. //
  99. // class CClusterGroupRes
  100. //
  101. // Description:
  102. // Provider Implement for cluster group resources
  103. //
  104. //--
  105. //////////////////////////////////////////////////////////////////////////////
  106. class CClusterGroupRes : public CClusterObjAssoc
  107. {
  108. //
  109. // constructor
  110. //
  111. public:
  112. CClusterGroupRes::CClusterGroupRes(
  113. LPCWSTR pwszNameIn,
  114. CWbemServices * pNamespaceIn,
  115. DWORD dwEnumTypeIn
  116. );
  117. //
  118. // methods
  119. //
  120. public:
  121. virtual SCODE EnumInstance(
  122. long lFlagsIn,
  123. IWbemContext * pCtxIn,
  124. IWbemObjectSink * pHandlerIn
  125. );
  126. static CProvBase * S_CreateThis(
  127. LPCWSTR pwszNameIn,
  128. CWbemServices * pNamespaceIn,
  129. DWORD dwEnumTypeIn
  130. );
  131. }; //*** class CClusterGroupRes