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.

138 lines
3.3 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 1999-2000 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // ClusterObjAssoc.h
  7. //
  8. // Implementation File:
  9. // ClusterObjAssoc.cpp
  10. //
  11. // Description:
  12. // Definition of the CClusterObjAssoc 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 "ObjectPath.h"
  26. //////////////////////////////////////////////////////////////////////////////
  27. // Forward Declarations
  28. //////////////////////////////////////////////////////////////////////////////
  29. class CClusterObjAssoc;
  30. class CClusterObjDep;
  31. //////////////////////////////////////////////////////////////////////////////
  32. //++
  33. //
  34. // class CClusterObjAssoc
  35. //
  36. // Description:
  37. // Provider Implement for cluster Node
  38. //
  39. //--
  40. //////////////////////////////////////////////////////////////////////////////
  41. class CClusterObjAssoc : public CProvBaseAssociation
  42. {
  43. //
  44. // constructor
  45. //
  46. public:
  47. CClusterObjAssoc::CClusterObjAssoc(
  48. LPCWSTR pwszNameIn,
  49. CWbemServices * pNamespaceIn,
  50. DWORD dwEnumTypeIn
  51. );
  52. //
  53. // methods
  54. //
  55. public:
  56. virtual SCODE EnumInstance(
  57. long lFlagsIn,
  58. IWbemContext * pCtxIn,
  59. IWbemObjectSink * pHandlerIn
  60. );
  61. virtual SCODE GetObject(
  62. CObjPath & rObjPathIn,
  63. long lFlagsIn,
  64. IWbemContext * pCtxIn,
  65. IWbemObjectSink * pHandlerIn
  66. );
  67. static CProvBase * S_CreateThis(
  68. LPCWSTR pwszNameIn,
  69. CWbemServices * pNamespaceIn,
  70. DWORD dwEnumTypeIn
  71. );
  72. protected:
  73. DWORD m_dwEnumType;
  74. _bstr_t m_bstrPartComp;
  75. _bstr_t m_bstrGroupComp;
  76. CWbemClassObject m_wcoPart;
  77. CWbemClassObject m_wcoGroup;
  78. }; //*** class CClusterObjAssoc
  79. //////////////////////////////////////////////////////////////////////////////
  80. //++
  81. //
  82. // class CClusterObjDep
  83. //
  84. // Description:
  85. // Provider Implement for cluster Node
  86. //
  87. //--
  88. //////////////////////////////////////////////////////////////////////////////
  89. class CClusterObjDep : public CProvBaseAssociation
  90. {
  91. //
  92. // constructor
  93. //
  94. public:
  95. CClusterObjDep::CClusterObjDep(
  96. LPCWSTR pwszNameIn,
  97. CWbemServices * pNamespaceIn,
  98. DWORD dwEnumTypeIn
  99. );
  100. //
  101. // methods
  102. //
  103. public:
  104. virtual SCODE EnumInstance(
  105. long lFlagsIn,
  106. IWbemContext * pCtxIn,
  107. IWbemObjectSink * pHandlerIn
  108. ) = 0;
  109. virtual SCODE GetObject(
  110. CObjPath & rObjPathIn,
  111. long lFlagsIn,
  112. IWbemContext * pCtxIn,
  113. IWbemObjectSink * pHandlerIn
  114. );
  115. protected:
  116. DWORD m_dwEnumType;
  117. CWbemClassObject m_wcoAntecedent;
  118. CWbemClassObject m_wcoDependent;
  119. }; //*** class CClusterObjDep