Source code of Windows XP (NT5)
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.

124 lines
2.8 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. static CProvBase * S_CreateThis(
  62. LPCWSTR pwszNameIn,
  63. CWbemServices * pNamespaceIn,
  64. DWORD dwEnumTypeIn
  65. );
  66. protected:
  67. DWORD m_dwEnumType;
  68. _bstr_t m_bstrPartComp;
  69. _bstr_t m_bstrGroupComp;
  70. CWbemClassObject m_wcoPart;
  71. CWbemClassObject m_wcoGroup;
  72. }; //*** class CClusterObjAssoc
  73. //////////////////////////////////////////////////////////////////////////////
  74. //++
  75. //
  76. // class CClusterObjDep
  77. //
  78. // Description:
  79. // Provider Implement for cluster Node
  80. //
  81. //--
  82. //////////////////////////////////////////////////////////////////////////////
  83. class CClusterObjDep : public CProvBaseAssociation
  84. {
  85. //
  86. // constructor
  87. //
  88. public:
  89. CClusterObjDep::CClusterObjDep(
  90. LPCWSTR pwszNameIn,
  91. CWbemServices * pNamespaceIn,
  92. DWORD dwEnumTypeIn
  93. );
  94. //
  95. // methods
  96. //
  97. public:
  98. virtual SCODE EnumInstance(
  99. long lFlagsIn,
  100. IWbemContext * pCtxIn,
  101. IWbemObjectSink * pHandlerIn
  102. ) = 0;
  103. protected:
  104. DWORD m_dwEnumType;
  105. CWbemClassObject m_wcoAntecedent;
  106. CWbemClassObject m_wcoDependent;
  107. }; //*** class CClusterObjDep