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.

123 lines
3.3 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 2000 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // PrivateInterfaces.h
  7. //
  8. // Description:
  9. // This file contains the declaration of the private interfaces used in
  10. // the cluster configuration server.
  11. //
  12. // Documentation:
  13. //
  14. // Implementation Files:
  15. // None.
  16. //
  17. // Maintained By:
  18. // Galen Barbee (GalenB) 29-FEB-2000
  19. //
  20. //////////////////////////////////////////////////////////////////////////////
  21. // Make sure that this file is included only once per compile path.
  22. #pragma once
  23. //////////////////////////////////////////////////////////////////////////////
  24. // Include Files
  25. //////////////////////////////////////////////////////////////////////////////
  26. #include <ClusApi.h>
  27. //////////////////////////////////////////////////////////////////////////////
  28. // Constant Declarations
  29. //////////////////////////////////////////////////////////////////////////////
  30. //****************************************************************************
  31. //++
  32. //
  33. // class IClusterHandleProvider
  34. //
  35. // Description:
  36. // This interface is used to pass around a cluster handle.
  37. //
  38. //--
  39. //****************************************************************************
  40. class IClusterHandleProvider : public IUnknown
  41. {
  42. public:
  43. //////////////////////////////////////////////////////////////////////////
  44. //
  45. // STDMETHOD
  46. // OpenCluster(
  47. // [ in ] BSTR bstrClusterName,
  48. // )
  49. //
  50. // Description:
  51. // Opens the cluster and creates the cluster handle.
  52. //
  53. // Parameters:
  54. // bstrClusterName
  55. // The cluster to open.
  56. //
  57. // Return Values:
  58. // S_OK
  59. // The initialization succeeded.
  60. //
  61. // other HRESULTs
  62. // The call failed.
  63. //
  64. //////////////////////////////////////////////////////////////////////////
  65. STDMETHOD( OpenCluster )( BSTR bstrClusterNameIn ) PURE;
  66. //////////////////////////////////////////////////////////////////////////
  67. //
  68. // STDMETHOD
  69. // GetClusterHandle(
  70. // [ out ] void ** ppvHandle
  71. // )
  72. //
  73. // Description:
  74. // Returns a cluster handle.
  75. //
  76. // Parameters:
  77. // ppvHandle
  78. // The handle to the cluster
  79. //
  80. //
  81. // Return Values:
  82. // S_OK
  83. // The initialization succeeded.
  84. //
  85. // other HRESULTs
  86. // The call failed.
  87. //
  88. //////////////////////////////////////////////////////////////////////////
  89. STDMETHOD( GetClusterHandle )( HCLUSTER * pphClusterHandleOut ) PURE;
  90. }; //*** class IClusterHandleProvider
  91. //////////////////////////////////////////////////////////////////////////////
  92. //++
  93. //
  94. // class IClusCfgSetHandle
  95. //
  96. // Description:
  97. // The interface IClusCfgSetHandle is the private interface
  98. // used by the cluster configuration server to set the ClusterHandleProvider
  99. // in its children.
  100. //
  101. // Interfaces:
  102. // None.
  103. //
  104. //--
  105. //////////////////////////////////////////////////////////////////////////////
  106. class IClusCfgSetHandle : public IUnknown
  107. {
  108. public:
  109. STDMETHOD( SetHandleProvider )( IClusterHandleProvider * pIHandleProvider ) PURE;
  110. }; //*** Class IClusCfgSetHandle