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.

156 lines
3.9 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 1999-2000 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // CClusterNetwork.h
  7. //
  8. // Implementation File:
  9. // CClusterNetwork.cpp
  10. //
  11. // Description:
  12. // Definition of the CCClusterNetwork 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 CClusterNetwork;
  30. class CClusterNetNetInterface;
  31. //////////////////////////////////////////////////////////////////////////////
  32. //++
  33. //
  34. // class CClusterNetwork
  35. //
  36. // Description:
  37. // Provider Implement for cluster Node
  38. //
  39. // Inheritance:
  40. // CProvBase
  41. //
  42. //--
  43. //////////////////////////////////////////////////////////////////////////////
  44. class CClusterNetwork : public CProvBase
  45. {
  46. //
  47. // constructor
  48. //
  49. public:
  50. CClusterNetwork::CClusterNetwork(
  51. LPCWSTR pwszNameIn,
  52. CWbemServices * pNamespaceIn
  53. );
  54. //
  55. // methods
  56. //
  57. public:
  58. virtual SCODE EnumInstance(
  59. long lFlagsIn,
  60. IWbemContext * pCtxIn,
  61. IWbemObjectSink * pHandlerIn
  62. );
  63. virtual SCODE GetObject(
  64. CObjPath & rObjPathIn,
  65. long lFlagsIn,
  66. IWbemContext * pCtxIn,
  67. IWbemObjectSink * pHandlerIn
  68. );
  69. virtual SCODE ExecuteMethod(
  70. CObjPath & rObjPathIn,
  71. WCHAR * pwszMethodNameIn,
  72. long lFlagIn,
  73. IWbemClassObject * pParamsIn,
  74. IWbemObjectSink * pHandlerIn
  75. ) ;
  76. virtual SCODE PutInstance(
  77. CWbemClassObject & rInstToPutIn,
  78. long lFlagIn,
  79. IWbemContext * pCtxIn,
  80. IWbemObjectSink * pHandlerIn
  81. );
  82. virtual SCODE DeleteInstance(
  83. CObjPath & rObjPathIn,
  84. long lFlagIn,
  85. IWbemContext * pCtxIn,
  86. IWbemObjectSink * pHandlerIn
  87. );
  88. static CProvBase * S_CreateThis(
  89. LPCWSTR pwszNameIn,
  90. CWbemServices * pNamespaceIn,
  91. DWORD dwEnumTypeIn
  92. );
  93. protected:
  94. static const SPropMapEntryArray * RgGetPropMap( void );
  95. void ClusterToWMI(
  96. HNETWORK hNetworkIn,
  97. IWbemObjectSink * pHandlerIn
  98. );
  99. }; //*** class CClusterNetwork
  100. //////////////////////////////////////////////////////////////////////////////
  101. //++
  102. //
  103. // class CClusterNetNetInterface
  104. //
  105. // Description:
  106. // Implement cluster network and netinterface association
  107. //
  108. //--
  109. //////////////////////////////////////////////////////////////////////////////
  110. class CClusterNetNetInterface : public CClusterObjAssoc
  111. {
  112. //
  113. // constructor
  114. //
  115. public:
  116. CClusterNetNetInterface::CClusterNetNetInterface(
  117. LPCWSTR pwszNameIn,
  118. CWbemServices * pNamespaceIn,
  119. DWORD dwEnumTypeIn
  120. );
  121. //
  122. // methods
  123. //
  124. public:
  125. virtual SCODE EnumInstance(
  126. long lFlagsIn,
  127. IWbemContext * pCtxIn,
  128. IWbemObjectSink * pHandlerIn
  129. );
  130. static CProvBase * S_CreateThis(
  131. LPCWSTR pwszNameIn,
  132. CWbemServices * pNamespaceIn,
  133. DWORD dwEnumTypeIn
  134. );
  135. }; //*** class CClusterNetNetInterface