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.

271 lines
7.5 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 IClusCfgWbemServices
  34. //
  35. // Description:
  36. // The interface IClusCfgWbemServices is the private interface
  37. // used by the cluster configuration server to set the WBEM provider
  38. // in its children.
  39. //
  40. // Interfaces:
  41. // None.
  42. //
  43. //--
  44. //////////////////////////////////////////////////////////////////////////////
  45. class IClusCfgWbemServices : public IUnknown
  46. {
  47. public:
  48. STDMETHOD( SetWbemServices )( IWbemServices * pIWbemServicesIn ) PURE;
  49. }; //*** Class IClusCfgWbemServices
  50. //////////////////////////////////////////////////////////////////////////////
  51. //++
  52. //
  53. // class IClusCfgDeviceEnums
  54. //
  55. // Description:
  56. // The interface IClusCfgDeviceEnums is the private interface
  57. // used by the cluster configuration server to set the devices and
  58. // network enums in its children.
  59. //
  60. // Interfaces:
  61. // None.
  62. //
  63. //--
  64. //////////////////////////////////////////////////////////////////////////////
  65. class IClusCfgDeviceEnums : public IUnknown
  66. {
  67. public:
  68. STDMETHOD( SetDevices )( IUnknown * punkEnumStorage, IUnknown * punkEnumNetworks ) PURE;
  69. }; //*** Class IClusCfgDeviceEnums
  70. //////////////////////////////////////////////////////////////////////////////
  71. //++
  72. //
  73. // class IClusCfgSetWbemObject
  74. //
  75. // Description:
  76. // The interface IClusCfgSetWbemObject is the private interface used by the
  77. // cluster configuration server to set the WBem object.
  78. //
  79. // Interfaces:
  80. // None.
  81. //
  82. //--
  83. //////////////////////////////////////////////////////////////////////////////
  84. class IClusCfgSetWbemObject : public IUnknown
  85. {
  86. public:
  87. STDMETHOD( SetWbemObject )(
  88. IWbemClassObject * pObjectIn
  89. , bool * pfRetainObjectOut
  90. ) PURE;
  91. }; //*** Class IClusCfgSetWbemObject
  92. //////////////////////////////////////////////////////////////////////////////
  93. //++
  94. //
  95. // class IClusCfgSetClusterNodeInfo
  96. //
  97. // Description:
  98. // The interface IClusCfgSetClusterNodeInfo is the private
  99. // interface used by the cluster configuration server to tell the
  100. // IClusCfgClusterInfo object if this node is part of a cluster.
  101. //
  102. // Interfaces:
  103. // None.
  104. //
  105. //--
  106. //////////////////////////////////////////////////////////////////////////////
  107. class IClusCfgSetClusterNodeInfo : public IUnknown
  108. {
  109. public:
  110. STDMETHOD( SetClusterNodeInfo )( IClusCfgNodeInfo * pNodeInfoIn ) PURE;
  111. }; //*** Class IClusCfgSetClusterNodeInfo
  112. //////////////////////////////////////////////////////////////////////////////
  113. //++
  114. //
  115. // class IClusCfgSetClusterHandles
  116. //
  117. // Description:
  118. // The interface IClusCfgSetClusterHandles is the private
  119. // interface used by the cluster configuration server to tell the
  120. // IClusCfgClusterServices object what handles to use.
  121. //
  122. // Interfaces:
  123. // None.
  124. //
  125. //--
  126. //////////////////////////////////////////////////////////////////////////////
  127. class IClusCfgSetClusterHandles : public IUnknown
  128. {
  129. public:
  130. STDMETHOD( SetClusterGroupHandle )( HGROUP hGroupIn ) PURE;
  131. STDMETHOD( SetClusterHandle )( HCLUSTER hClusterIn ) PURE;
  132. }; //*** Class IClusCfgSetClusterHandles
  133. //////////////////////////////////////////////////////////////////////////////
  134. //++
  135. //
  136. // class IClusCfgPhysicalDiskProperties
  137. //
  138. // Description:
  139. // The interface IClusCfgPhysicalDiskProperties is the private
  140. // interface used by the cluster configuration server to get the
  141. // SCSI bus number and whether the disk was booted or not.
  142. //
  143. // Interfaces:
  144. // None.
  145. //
  146. //--
  147. //////////////////////////////////////////////////////////////////////////////
  148. class IClusCfgPhysicalDiskProperties : public IUnknown
  149. {
  150. public:
  151. STDMETHOD( IsThisLogicalDisk )( WCHAR cLogicalDiskIn ) PURE;
  152. STDMETHOD( HrGetSCSIBus )( ULONG * pulSCSIBusOut ) PURE;
  153. STDMETHOD( HrGetSCSIPort )( ULONG * pulSCSIPortOut ) PURE;
  154. STDMETHOD( CanBeManaged )( void ) PURE;
  155. STDMETHOD( HrGetDeviceID )( BSTR * pbstrDeviceIDOut ) PURE;
  156. STDMETHOD( HrGetSignature )( DWORD * pdwSignatureOut ) PURE;
  157. STDMETHOD( HrSetFriendlyName )( LPCWSTR pcszFriendlyNameIn ) PURE;
  158. }; //*** Class IClusCfgPhysicalDiskProperties
  159. //////////////////////////////////////////////////////////////////////////////
  160. //++
  161. //
  162. // class IClusCfgPartitionProperties
  163. //
  164. // Description:
  165. // The interface IClusCfgPartitionProperties is the private
  166. // interface used by the cluster configuration server to get the
  167. // properties of a disk partition.
  168. //
  169. // Interfaces:
  170. // None.
  171. //
  172. //--
  173. //////////////////////////////////////////////////////////////////////////////
  174. class IClusCfgPartitionProperties : public IUnknown
  175. {
  176. public:
  177. STDMETHOD( IsThisLogicalDisk )( WCHAR cLogicalDiskIn ) PURE;
  178. STDMETHOD( IsNTFS )( void ) PURE;
  179. STDMETHOD( GetFriendlyName )( BSTR * pbstrNameOut ) PURE;
  180. }; //*** Class IClusCfgPartitionProperties
  181. //////////////////////////////////////////////////////////////////////////////
  182. //++
  183. //
  184. // class IClusCfgLoadResource
  185. //
  186. // Description:
  187. // The interface IClusCfgLoadResource is the private interface used
  188. // by the cluster configuration server to get a resource loaded from
  189. // a cluster.
  190. //
  191. //--
  192. //////////////////////////////////////////////////////////////////////////////
  193. class IClusCfgLoadResource : public IUnknown
  194. {
  195. public:
  196. STDMETHOD( LoadResource )( HCLUSTER hClusterIn, HRESOURCE hResourceIn ) PURE;
  197. }; //*** Class IClusCfgLoadResource
  198. //////////////////////////////////////////////////////////////////////////////
  199. //++
  200. //
  201. // class IClusCfgSetPollingCallback
  202. //
  203. // Description:
  204. // The interface IClusCfgSetPollingCallback is the private interface used
  205. // by the cluster configuration server to tell the callback object that
  206. // it should do polling.
  207. //
  208. //--
  209. //////////////////////////////////////////////////////////////////////////////
  210. class IClusCfgSetPollingCallback : public IUnknown
  211. {
  212. public:
  213. STDMETHOD( SetPollingMode )( BOOL fUsePollingModeIn ) PURE;
  214. }; //*** Class IClusCfgSetPollingCallback
  215. //////////////////////////////////////////////////////////////////////////////
  216. //++
  217. //
  218. // class IClusCfgClusterNetworkInfo
  219. //
  220. // Description:
  221. // The interface IClusCfgClusterNetworkInfo is the private interface used
  222. // by the cluster configuration server to tell whether or not a network
  223. // is already a cluster network.
  224. //
  225. //--
  226. //////////////////////////////////////////////////////////////////////////////
  227. class IClusCfgClusterNetworkInfo : public IUnknown
  228. {
  229. public:
  230. STDMETHOD( HrIsClusterNetwork )( void ) PURE;
  231. }; //*** Class IClusCfgClusterNetworkInfo