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.

444 lines
26 KiB

  1. /////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 1996-1997 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // BarfClus.h
  7. //
  8. // Abstract:
  9. // Definition of the Basic Artifical Resource Failure entry points
  10. // for CLUSAPI functions.
  11. //
  12. // Implementation File:
  13. // BarfClus.cpp
  14. //
  15. // Author:
  16. // David Potter (davidp) April 14, 1997
  17. //
  18. // Revision History:
  19. //
  20. // Notes:
  21. // This file compiles only in _DEBUG mode.
  22. //
  23. // To implement a new BARF type, declare a global instance of CBarf:
  24. // CBarf g_barfMyApi(_T("My API"));
  25. //
  26. // To bring up the BARF dialog:
  27. // DoBarfDialog();
  28. // This brings up a modeless dialog with the BARF settings.
  29. //
  30. // A few functions are provided for special circumstances.
  31. // Usage of these should be fairly limited:
  32. // BarfAll(void); Top Secret -> NYI.
  33. // EnableBarf(BOOL); Allows you to disable/reenable BARF.
  34. // FailOnNextBarf; Force the next failable call to fail.
  35. //
  36. // NOTE: Your code calls the standard APIs (e.g. LoadIcon) and the
  37. // BARF files do the rest.
  38. //
  39. /////////////////////////////////////////////////////////////////////////////
  40. #ifndef _BARFCLUS_H_
  41. #define _BARFCLUS_H_
  42. // Only process the rest of this file if BARF is to be implemented in the
  43. // including module.
  44. #ifndef _NO_BARF_DEFINITIONS_
  45. #define _USING_BARF_
  46. #ifdef _DEBUG
  47. /////////////////////////////////////////////////////////////////////////////
  48. // Cluster Management Functions
  49. /////////////////////////////////////////////////////////////////////////////
  50. #undef CloseCluster
  51. #define CloseCluster(_hCluster) BARFCloseCluster(_hCluster)
  52. BOOL BARFCloseCluster(HCLUSTER hCluster);
  53. #undef CloseClusterNotifyPort
  54. #define CloseClusterNotifyPort(_hChange) BARFCloseClusterNotifyPort(_hChange)
  55. BOOL BARFCloseClusterNotifyPort(HCHANGE hChange);
  56. #undef ClusterCloseEnum
  57. #define ClusterCloseEnum(_hClusEnum) BARFClusterCloseEnum(_hClusEnum)
  58. DWORD BARFClusterCloseEnum(HCLUSENUM hClusEnum);
  59. #undef ClusterEnum
  60. #define ClusterEnum(_hClusEnum, _dwIndex, _lpdwType, _lpszName, _lpcchName) BARFClusterEnum(_hClusEnum, _dwIndex, _lpdwType, _lpszName, _lpcchName)
  61. DWORD BARFClusterEnum(HCLUSENUM hClusEnum, DWORD dwIndex, LPDWORD lpdwType, LPWSTR lpszName, LPDWORD lpcchName);
  62. #undef ClusterOpenEnum
  63. #define ClusterOpenEnum(_hCluster, _dwType) BARFClusterOpenEnum(_hCluster, _dwType)
  64. HCLUSENUM BARFClusterOpenEnum(HCLUSTER hCluster, DWORD dwType);
  65. #undef ClusterResourceTypeControl
  66. #define ClusterResourceTypeControl(_hCluster, _lpszResourceTypeName, _hHostNode, _dwControlCode, _lpInBuffer, _nInBufferSize, _lpOutBuffer, _nOutBufferSize, _lpBytesReturned) BARFClusterResourceTypeControl(_hCluster, _lpszResourceTypeName, _hHostNode, _dwControlCode, _lpInBuffer, _nInBufferSize, _lpOutBuffer, _nOutBufferSize, _lpBytesReturned)
  67. DWORD BARFClusterResourceTypeControl(HCLUSTER hCluster, LPCWSTR lpszResourceTypeName, HNODE hHostNode, DWORD dwControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned);
  68. #undef CreateClusterNotifyPort
  69. #define CreateClusterNotifyPort(_hChange, _hCluster, _dwFilter, _dwNotifyKey) BARFCreateClusterNotifyPort(_hChange, _hCluster, _dwFilter, _dwNotifyKey)
  70. HCHANGE BARFCreateClusterNotifyPort(HCHANGE hChange, HCLUSTER hCluster, DWORD dwFilter, DWORD_PTR dwNotifyKey);
  71. #undef CreateClusterResourceType
  72. #define CreateClusterResourceType(_hCluster, _lpszResourceTypeName, _lpszDisplayName, _lpszResourceTypeDll, _dwLooksAlivePollInterval, _dwIsAlivePollInterval) BARFCreateClusterResourceType(_hCluster, _lpszResourceTypeName, _lpszDisplayName, _lpszResourceTypeDll, _dwLooksAlivePollInterval, _dwIsAlivePollInterval)
  73. DWORD BARFCreateClusterResourceType(HCLUSTER hCluster, LPCWSTR lpszResourceTypeName, LPCWSTR lpszDisplayName, LPCWSTR lpszResourceTypeDll, DWORD dwLooksAlivePollInterval, DWORD dwIsAlivePollInterval);
  74. #undef DeleteClusterResourceType
  75. #define DeleteClusterResourceType(_hCluster, _lpszResourceTypeName) BARFDeleteClusterResourceType(_hCluster, _lpszResourceTypeName)
  76. DWORD BARFDeleteClusterResourceType(HCLUSTER hCluster, LPCWSTR lpszResourceTypeName);
  77. #undef GetClusterInformation
  78. #define GetClusterInformation(_hCluster, _lpszClusterName, _lpcchClusterName, _lpClusterInfo) BARFGetClusterInformation(_hCluster, _lpszClusterName, _lpcchClusterName, _lpClusterInfo)
  79. DWORD BARFGetClusterInformation(HCLUSTER hCluster, LPWSTR lpszClusterName, LPDWORD lpcchClusterName, LPCLUSTERVERSIONINFO lpClusterInfo);
  80. #undef GetClusterNotify
  81. #define GetClusterNotify(_hChange, _lpdwNotifyKey, _lpdwFilterType, _lpszName, _lpcchName, _dwMilliseconds) BARFGetClusterNotify(_hChange, _lpdwNotifyKey, _lpdwFilterType, _lpszName, _lpcchName, _dwMilliseconds)
  82. DWORD BARFGetClusterNotify(HCHANGE hChange, DWORD_PTR *lpdwNotifyKey, LPDWORD lpdwFilterType, LPWSTR lpszName, LPDWORD lpcchName, DWORD dwMilliseconds);
  83. #undef GetClusterQuorumResource
  84. #define GetClusterQuorumResource(_hCluster, _lpszResourceName, _lpcbResourceName, _lpszDeviceName, _lpcbDeviceName, _lpdwMaxQuorumLogSize) BARFGetClusterQuorumResource(_hCluster, _lpszResourceName, _lpcbResourceName, _lpszDeviceName, _lpcbDeviceName, _lpdwMaxQuorumLogSize)
  85. DWORD BARFGetClusterQuorumResource(HCLUSTER hCluster, LPWSTR lpszResourceName, LPDWORD lpcbResourceName, LPWSTR lpszDeviceName, LPDWORD lpcbDeviceName, LPDWORD lpdwMaxQuorumLogSize);
  86. #undef OpenCluster
  87. #define OpenCluster(_lpszClusterName) BARFOpenCluster(_lpszClusterName)
  88. HCLUSTER BARFOpenCluster(LPCWSTR lpszClusterName);
  89. #undef RegisterClusterNotify
  90. #define RegisterClusterNotify(_hChange, _dwFilter, _hObject, _dwNotifyKey) BARFRegisterClusterNotify(_hChange, _dwFilter, _hObject, _dwNotifyKey)
  91. DWORD BARFRegisterClusterNotify(HCHANGE hChange, DWORD dwFilter, HANDLE hObject, DWORD_PTR dwNotifyKey);
  92. #undef SetClusterName
  93. #define SetClusterName(_hCluster, _lpszNewClusterName) BARFSetClusterName(_hCluster, _lpszNewClusterName)
  94. DWORD BARFSetClusterName(HCLUSTER hCluster, LPCWSTR lpszNewClusterName);
  95. #undef SetClusterQuorumResource
  96. #define SetClusterQuorumResource(_hResource, _lpszDeviceName, _dwMazQuoLogSize) BARFSetClusterQuorumResource(_hResource, _lpszDeviceName, _dwMazQuoLogSize)
  97. DWORD BARFSetClusterQuorumResource(HRESOURCE hResource, LPCWSTR lpszDeviceName, DWORD dwMaxQuoLogSize);
  98. /////////////////////////////////////////////////////////////////////////////
  99. // Node Management Functions
  100. /////////////////////////////////////////////////////////////////////////////
  101. #undef CloseClusterNode
  102. #define CloseClusterNode(_hNode) BARFCloseClusterNode(_hNode)
  103. BOOL BARFCloseClusterNode(HNODE hNode);
  104. #undef ClusterNodeControl
  105. #define ClusterNodeControl(_hNode, _hHostNode, _dwControlCode, _lpInBuffer, _nInBufferSize, _lpOutBuffer, _nOutBufferSize, _lpBytesReturned) BARFClusterNodeControl(_hNode, _hHostNode, _dwControlCode, _lpInBuffer, _nInBufferSize, _lpOutBuffer, _nOutBufferSize, _lpBytesReturned)
  106. DWORD BARFClusterNodeControl(HNODE hNode, HNODE hHostNode, DWORD dwControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned);
  107. #undef EvictClusterNode
  108. #define EvictClusterNode(_hNode) BARFEvictClusterNode(_hNode)
  109. DWORD BARFEvictClusterNode(HNODE hNode);
  110. #undef GetClusterNodeId
  111. #define GetClusterNodeId(_hNode, _lpszNodeId, _lpcchNodeId) BARFGetClusterNodeId(_hNode, _lpszNodeId, _lpcchNodeId)
  112. DWORD BARFGetClusterNodeId(HNODE hNode, LPWSTR lpszNodeId, LPDWORD lpcchNodeId);
  113. #undef GetClusterNodeState
  114. #define GetClusterNodeState(_hNode) BARFGetClusterNodeState(_hNode)
  115. CLUSTER_NODE_STATE BARFGetClusterNodeState(HNODE hNode);
  116. #undef OpenClusterNode
  117. #define OpenClusterNode(_hCluster, _lpszNodeName) BARFOpenClusterNode(_hCluster, _lpszNodeName)
  118. HNODE BARFOpenClusterNode(HCLUSTER hCluster, LPCWSTR lpszNodeName);
  119. #undef PauseClusterNode
  120. #define PauseClusterNode(_hNode) BARFPauseClusterNode(_hNode)
  121. DWORD BARFPauseClusterNode(HNODE hNode);
  122. #undef ResumeClusterNode
  123. #define ResumeClusterNode(_hNode) BARFResumeClusterNode(_hNode)
  124. DWORD BARFResumeClusterNode(HNODE hNode);
  125. /////////////////////////////////////////////////////////////////////////////
  126. // Group Management Functions
  127. /////////////////////////////////////////////////////////////////////////////
  128. #undef CloseClusterGroup
  129. #define CloseClusterGroup(_hGroup) BARFCloseClusterGroup(_hGroup)
  130. BOOL BARFCloseClusterGroup(HGROUP hGroup);
  131. #undef ClusterGroupCloseEnum
  132. #define ClusterGroupCloseEnum(_hGroupEnum) BARFClusterGroupCloseEnum(_hGroupEnum)
  133. DWORD BARFClusterGroupCloseEnum(HGROUPENUM hGroupEnum);
  134. #undef ClusterGroupControl
  135. #define ClusterGroupControl(_hGroup, _hHostNode, _dwControlCode, _lpInBuffer, _nInBufferSize, _lpOutBuffer, _nOutBufferSize, _lpBytesReturned) BARFClusterGroupControl(_hGroup, _hHostNode, _dwControlCode, _lpInBuffer, _nInBufferSize, _lpOutBuffer, _nOutBufferSize, _lpBytesReturned)
  136. DWORD BARFClusterGroupControl(HGROUP hGroup, HNODE hHostNode, DWORD dwControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned);
  137. #undef ClusterGroupEnum
  138. #define ClusterGroupEnum(_hGroupEnum, _dwIndex, _lpdwType, _lpszResourceName, _lpcchName) BARFClusterGroupEnum(_hGroupEnum, _dwIndex, _lpdwType, _lpszResourceName, _lpcchName)
  139. DWORD BARFClusterGroupEnum(HGROUPENUM hGroupEnum, DWORD dwIndex, LPDWORD lpdwType, LPWSTR lpszResourceName, LPDWORD lpcchName);
  140. #undef ClusterGroupOpenEnum
  141. #define ClusterGroupOpenEnum(_hGroup, _dwType) BARFClusterGroupOpenEnum(_hGroup, _dwType)
  142. HGROUPENUM BARFClusterGroupOpenEnum(HGROUP hGroup, DWORD dwType);
  143. #undef CreateClusterGroup
  144. #define CreateClusterGroup(_hCluster, _lpszGroupName) BARFCreateClusterGroup(_hCluster, _lpszGroupName)
  145. HGROUP BARFCreateClusterGroup(HCLUSTER hCluster, LPCWSTR lpszGroupName);
  146. #undef DeleteClusterGroup
  147. #define DeleteClusterGroup(_hGroup) BARFDeleteClusterGroup(_hGroup)
  148. DWORD BARFDeleteClusterGroup(HGROUP hGroup);
  149. #undef GetClusterGroupState
  150. #define GetClusterGroupState(_hGroup, _lpszNodeName, _lpcchNodeName) BARFGetClusterGroupState(_hGroup, _lpszNodeName, _lpcchNodeName)
  151. CLUSTER_GROUP_STATE BARFGetClusterGroupState(HGROUP hGroup, LPWSTR lpszNodeName, LPDWORD lpcchNodeName);
  152. #undef MoveClusterGroup
  153. #define MoveClusterGroup(_hGroup, _hDestinationNode) BARFMoveClusterGroup(_hGroup, _hDestinationNode)
  154. DWORD BARFMoveClusterGroup(HGROUP hGroup, HNODE hDestinationNode);
  155. #undef OfflineClusterGroup
  156. #define OfflineClusterGroup(_hGroup) BARFOfflineClusterGroup(_hGroup)
  157. DWORD BARFOfflineClusterGroup(HGROUP hGroup);
  158. #undef OnlineClusterGroup
  159. #define OnlineClusterGroup(_hGroup, _hDestinationNode) BARFOnlineClusterGroup(_hGroup, _hDestinationNode)
  160. DWORD BARFOnlineClusterGroup(HGROUP hGroup, HNODE hDestinationNode);
  161. #undef OpenClusterGroup
  162. #define OpenClusterGroup(_hCluster, _lpszGroupName) BARFOpenClusterGroup(_hCluster, _lpszGroupName)
  163. HGROUP BARFOpenClusterGroup(HCLUSTER hCluster, LPCWSTR lpszGroupName);
  164. #undef SetClusterGroupName
  165. #define SetClusterGroupName(_hGroup, _lpszGroupName) BARFSetClusterGroupName(_hGroup, _lpszGroupName)
  166. DWORD BARFSetClusterGroupName(HGROUP hGroup, LPCWSTR lpszGroupName);
  167. #undef SetClusterGroupNodeList
  168. #define SetClusterGroupNodeList(_hGroup, _cNodeCount, _phNodeList) BARFSetClusterGroupNodeList(_hGroup, _cNodeCount, _phNodeList)
  169. DWORD BARFSetClusterGroupNodeList(HGROUP hGroup, DWORD cNodeCount, HNODE phNodeList[]);
  170. /////////////////////////////////////////////////////////////////////////////
  171. // Resource Management Functions
  172. /////////////////////////////////////////////////////////////////////////////
  173. #undef AddClusterResourceDependency
  174. #define AddClusterResourceDependency(_hResource, _hDependsOn) BARFAddClusterResourceDependency(_hResource, _hDependsOn)
  175. DWORD BARFAddClusterResourceDependency(HRESOURCE hResource, HRESOURCE hDependsOn);
  176. #undef AddClusterResourceNode
  177. #define AddClusterResourceNode(_hResource, _hNode) BARFAddClusterResourceNode(_hResource, _hNode)
  178. DWORD BARFAddClusterResourceNode(HRESOURCE hResource, HNODE hNode);
  179. #undef CanResourceBeDependent
  180. #define CanResourceBeDependent(_hResource, _hResourceDependent) BARFCanResourceBeDependent(_hResource, _hResourceDependent)
  181. BOOL BARFCanResourceBeDependent(HRESOURCE hResource, HRESOURCE hResourceDependent);
  182. #undef ChangeClusterResourceGroup
  183. #define ChangeClusterResourceGroup(_hResource, _hGroup) BARFChangeClusterResourceGroup(_hResource, _hGroup)
  184. DWORD BARFChangeClusterResourceGroup(HRESOURCE hResource, HGROUP hGroup);
  185. #undef CloseClusterResource
  186. #define CloseClusterResource(_hResource) BARFCloseClusterResource(_hResource)
  187. BOOL BARFCloseClusterResource(HRESOURCE hResource);
  188. #undef ClusterResourceCloseEnum
  189. #define ClusterResourceCloseEnum(_hResEnum) BARFClusterResourceCloseEnum(_hResEnum)
  190. DWORD BARFClusterResourceCloseEnum(HRESENUM hResEnum);
  191. #undef ClusterResourceControl
  192. #define ClusterResourceControl(_hResource, _hHostNode, _dwControlCode, _lpInBuffer, _nInBufferSize, _lpOutBuffer, _nOutBufferSize, _lpBytesReturned) BARFClusterResourceControl(_hResource, _hHostNode, _dwControlCode, _lpInBuffer, _nInBufferSize, _lpOutBuffer, _nOutBufferSize, _lpBytesReturned)
  193. DWORD BARFClusterResourceControl(HRESOURCE hResource, HNODE hHostNode, DWORD dwControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned);
  194. #undef ClusterResourceEnum
  195. #define ClusterResourceEnum(_hResEnum, _dwIndex, _lpdwType, _lpszName, _lpcchName) BARFClusterResourceEnum(_hResEnum, _dwIndex, _lpdwType, _lpszName, _lpcchName)
  196. DWORD BARFClusterResourceEnum(HRESENUM hResEnum, DWORD dwIndex, LPDWORD lpdwType, LPWSTR lpszName, LPDWORD lpcchName);
  197. #undef ClusterResourceOpenEnum
  198. #define ClusterResourceOpenEnum(_hResource, _dwType) BARFClusterResourceOpenEnum(_hResource, _dwType)
  199. HRESENUM BARFClusterResourceOpenEnum(HRESOURCE hResource, DWORD dwType);
  200. #undef CreateClusterResource
  201. #define CreateClusterResource(_hGroup, _lpszResourceName, _lpszResourceType, _dwFlags) BARFCreateClusterResource(_hGroup, _lpszResourceName, _lpszResourceType, _dwFlags)
  202. HRESOURCE BARFCreateClusterResource(HGROUP hGroup, LPCWSTR lpszResourceName, LPCWSTR lpszResourceType, DWORD dwFlags);
  203. #undef DeleteClusterResource
  204. #define DeleteClusterResource(_hResource) BARFDeleteClusterResource(_hResource)
  205. DWORD BARFDeleteClusterResource(HRESOURCE hResource);
  206. #undef FailClusterResource
  207. #define FailClusterResource(_hResource) BARFFailClusterResource(_hResource)
  208. DWORD BARFFailClusterResource(HRESOURCE hResource);
  209. #undef GetClusterResourceNetworkName
  210. #define GetClusterResourceNetworkName(_hResource, _lpBuffer, _nSize) BARFGetClusterResourceNetworkName(_hResource, _lpBuffer, _nSize)
  211. BOOL BARFGetClusterResourceNetworkName(HRESOURCE hResource, LPWSTR lpBuffer, LPDWORD nSize);
  212. #undef GetClusterResourceState
  213. #define GetClusterResourceState(_hResource, _lpszNodeName, _lpcchNodeName, _lpszGroupName, _lpcchGroupName) BARFGetClusterResourceState(_hResource, _lpszNodeName, _lpcchNodeName, _lpszGroupName, _lpcchGroupName)
  214. CLUSTER_RESOURCE_STATE BARFGetClusterResourceState(HRESOURCE hResource, LPWSTR lpszNodeName, LPDWORD lpcchNodeName, LPWSTR lpszGroupName, LPDWORD lpcchGroupName);
  215. #undef OfflineClusterResource
  216. #define OfflineClusterResource(_hResource) BARFOfflineClusterResource(_hResource)
  217. DWORD BARFOfflineClusterResource(HRESOURCE hResource);
  218. #undef OnlineClusterResource
  219. #define OnlineClusterResource(_hResource) BARFOnlineClusterResource(_hResource)
  220. DWORD BARFOnlineClusterResource(HRESOURCE hResource);
  221. #undef OpenClusterResource
  222. #define OpenClusterResource(_hCluster, _lpszResourceName) BARFOpenClusterResource(_hCluster, _lpszResourceName)
  223. HRESOURCE BARFOpenClusterResource(HCLUSTER hCluster, LPCWSTR lpszResourceName);
  224. #undef RemoveClusterResourceNode
  225. #define RemoveClusterResourceNode(_hResource, _hNode) BARFRemoveClusterResourceNode(_hResource, _hNode)
  226. DWORD BARFRemoveClusterResourceNode(HRESOURCE hResource, HNODE hNode);
  227. #undef RemoveClusterResourceDependency
  228. #define RemoveClusterResourceDependency(_hResource, _hDependsOn) BARFRemoveClusterResourceDependency(_hResource, _hDependsOn)
  229. DWORD BARFRemoveClusterResourceDependency(HRESOURCE hResource, HRESOURCE hDependsOn);
  230. #undef SetClusterResourceName
  231. #define SetClusterResourceName(_hResource, _lpszResourceName) BARFSetClusterResourceName(_hResource, _lpszResourceName)
  232. DWORD BARFSetClusterResourceName(HRESOURCE hResource, LPCWSTR lpszResourceName);
  233. /////////////////////////////////////////////////////////////////////////////
  234. // Network Management Functions
  235. /////////////////////////////////////////////////////////////////////////////
  236. #undef OpenClusterNetwork
  237. #define OpenClusterNetwork(_hCluster, _lpszNetworkName) BARFOpenClusterNetwork(_hCluster, _lpszNetworkName)
  238. HNETWORK BARFOpenClusterNetwork(HCLUSTER hCluster, LPCWSTR lpszNetworkName);
  239. #undef CloseClusterNetwork
  240. #define CloseClusterNetwork(_hNetwork) BARFCloseClusterNetwork(_hNetwork)
  241. BOOL BARFCloseClusterNetwork(HNETWORK hNetwork);
  242. #undef ClusterNetworkOpenEnum
  243. #define ClusterNetworkOpenEnum(_hNetwork, _dwType) BARFClusterNetworkOpenEnum(_hNetwork, _dwType)
  244. HNETWORKENUM BARFClusterNetworkOpenEnum(HNETWORK hNetwork, DWORD dwType);
  245. #undef ClusterNetworkEnum
  246. #define ClusterNetworkEnum(_hNetworkEnum, _dwIndex, _lpdwType, _lpszName, _lpcchName) BARFClusterNetworkEnum(_hNetworkEnum, _dwIndex, _lpdwType, _lpszName, _lpcchName)
  247. DWORD BARFClusterNetworkEnum(HNETWORKENUM hNetworkEnum, DWORD dwIndex, DWORD * lpdwType, LPWSTR lpszName, LPDWORD lpcchName);
  248. #undef ClusterNetworkCloseEnum
  249. #define ClusterNetworkCloseEnum(_hNetworkEnum) BARFClusterNetworkCloseEnum(_hNetworkEnum)
  250. DWORD BARFClusterNetworkCloseEnum(HNETWORKENUM hNetworkEnum);
  251. #undef GetClusterNetworkState
  252. #define GetClusterNetworkState(_hNetwork) BARFGetClusterNetworkState(_hNetwork)
  253. CLUSTER_NETWORK_STATE BARFGetClusterNetworkState(HNETWORK hNetwork);
  254. #undef SetClusterNetworkName
  255. #define SetClusterNetworkName(_hNetwork, _lpszName) BARFSetClusterNetworkName(_hNetwork, _lpszName)
  256. DWORD BARFSetClusterNetworkName(HNETWORK hNetwork, LPCWSTR lpszName);
  257. #undef ClusterNetworkControl
  258. #define ClusterNetworkControl(_hNetwork, _hHostNode, _dwControlCode, _lpInBuffer, _nInBufferSize, _lpOutBuffer, _nOutBufferSize, _lpBytesReturned) BARFClusterNetworkControl(_hNetwork, _hHostNode, _dwControlCode, _lpInBuffer, _nInBufferSize, _lpOutBuffer, _nOutBufferSize, _lpBytesReturned)
  259. DWORD BARFClusterNetworkControl(HNETWORK hNetwork, HNODE hHostNode, DWORD dwControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned);
  260. /////////////////////////////////////////////////////////////////////////////
  261. // Network Interface Management Functions
  262. /////////////////////////////////////////////////////////////////////////////
  263. #undef OpenClusterNetInterface
  264. #define OpenClusterNetInterface(_hCluster, _lpszInterfaceName) BARFOpenClusterNetInterface(_hCluster, _lpszInterfaceName)
  265. HNETINTERFACE BARFOpenClusterNetInterface(HCLUSTER hCluster, LPCWSTR lpszInterfaceName);
  266. #undef GetClusterNetInterface
  267. #define GetClusterNetInterface(_hCluster, _lpszNodeName, _lpszNetworkName, _lpszNetInterfaceName, _lpcchNetInterfaceName) BARFGetClusterNetInterface(_hCluster, _lpszNodeName, _lpszNetworkName, _lpszNetInterfaceName, _lpcchNetInterfaceName)
  268. HNETINTERFACE BARFGetClusterNetInterface(HCLUSTER hCluster, LPCWSTR lpszNodeName, LPCWSTR lpszNetworkName, LPWSTR lpszNetInterfaceName, DWORD * lpcchNetInterfaceName);
  269. #undef CloseClusterNetInterface
  270. #define CloseClusterNetInterface(_hNetInterface) BARFCloseClusterNetInterface(_hNetInterface)
  271. BOOL BARFCloseClusterNetInterface(HNETINTERFACE hNetInterface);
  272. #undef GetClusterNetInterfaceState
  273. #define GetClusterNetInterfaceState(_hNetInterface) BARFGetClusterNetInterfaceState(_hNetInterface)
  274. CLUSTER_NETINTERFACE_STATE BARFGetClusterNetInterfaceState(HNETINTERFACE hNetInterface);
  275. #undef ClusterNetInterfaceControl
  276. #define ClusterNetInterfaceControl(_hNetInterface, _hHostNode, _dwControlCode, _lpInBuffer, _nInBufferSize, _lpOutBuffer, _nOutBufferSize, _lpBytesReturned) BARFClusterNetInterfaceControl(_hNetInterface, _hHostNode, _dwControlCode, _lpInBuffer, _nInBufferSize, _lpOutBuffer, _nOutBufferSize, _lpBytesReturned)
  277. DWORD BARFClusterNetInterfaceControl(HNETINTERFACE hNetInterface, HNODE hHostNode, DWORD dwControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned);
  278. /////////////////////////////////////////////////////////////////////////////
  279. // Cluster Database Management Functions
  280. /////////////////////////////////////////////////////////////////////////////
  281. #undef ClusterRegCloseKey
  282. #define ClusterRegCloseKey(_hKey) BARFClusterRegCloseKey(_hKey)
  283. LONG BARFClusterRegCloseKey(HKEY hKey);
  284. #undef ClusterRegCreateKey
  285. #define ClusterRegCreateKey(_hKey, _lpszSubKey, _dwOptions, _samDesired, _lpSecurityAttributes, _phkResult, _lpdwDisposition) BARFClusterRegCreateKey(_hKey, _lpszSubKey, _dwOptions, _samDesired, _lpSecurityAttributes, _phkResult, _lpdwDisposition)
  286. LONG BARFClusterRegCreateKey(HKEY hKey, LPCWSTR lpszSubKey, DWORD dwOptions, REGSAM samDesired, LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition);
  287. #undef ClusterRegDeleteKey
  288. #define ClusterRegDeleteKey(_hKey, _lpszSubKey) BARFClusterRegDeleteKey(_hKey, _lpszSubKey)
  289. LONG BARFClusterRegDeleteKey(HKEY hKey, LPCWSTR lpszSubKey);
  290. #undef ClusterRegDeleteValue
  291. #define ClusterRegDeleteValue(_hKey, _lpszValueName) BARFClusterRegDeleteValue(_hKey, _lpszValueName)
  292. DWORD BARFClusterRegDeleteValue(HKEY hKey, LPCWSTR lpszValueName);
  293. #undef ClusterRegEnumKey
  294. #define ClusterRegEnumKey(_hKey, _dwIndex, _lpszName, _lpcchName, _lpftLastWriteTime) BARFClusterRegEnumKey(_hKey, _dwIndex, _lpszName, _lpcchName, _lpftLastWriteTime)
  295. LONG BARFClusterRegEnumKey(HKEY hKey, DWORD dwIndex, LPWSTR lpszName, LPDWORD lpcchName, PFILETIME lpftLastWriteTime);
  296. #undef ClusterRegEnumValue
  297. #define ClusterRegEnumValue(_hKey, _dwIndex, _lpszValueName, _lpcchValueName, _lpdwType, _lpbData, _lpcbData) BARFClusterRegEnumValue(_hKey, _dwIndex, _lpszValueName, _lpcchValueName, _lpdwType, _lpbData, _lpcbData)
  298. DWORD BARFClusterRegEnumValue(HKEY hKey, DWORD dwIndex, LPWSTR lpszValueName, LPDWORD lpcchValueName, LPDWORD lpdwType, LPBYTE lpbData, LPDWORD lpcbData);
  299. #undef ClusterRegGetKeySecurity
  300. #define ClusterRegGetKeySecurity(_hKey, _SecurityInformation, _pSecurityDescriptor, _lpcbSecurityDescriptor) BARFClusterRegGetKeySecurity(_hKey, _SecurityInformation, _pSecurityDescriptor, _lpcbSecurityDescriptor)
  301. LONG BARFClusterRegGetKeySecurity(HKEY hKey, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor, LPDWORD lpcbSecurityDescriptor);
  302. #undef ClusterRegOpenKey
  303. #define ClusterRegOpenKey(_hKey, _lpszSubKey, _samDesired, _phkResult) BARFClusterRegOpenKey(_hKey, _lpszSubKey, _samDesired, _phkResult)
  304. LONG BARFClusterRegOpenKey(HKEY hKey, LPCWSTR lpszSubKey, REGSAM samDesired, PHKEY phkResult);
  305. #undef ClusterRegQueryInfoKey
  306. #define ClusterRegQueryInfoKey(_hKey, _lpcSubKeys, _lpcbMaxSubKeyLen, lpcValues, lpcbMaxValueNameLen, lpcbMaxValueLen, lpcbSecurityDescriptor, lpftLastWriteTime) BARFClusterRegQueryInfoKey(_hKey, _lpcSubKeys, _lpcbMaxSubKeyLen, lpcValues, lpcbMaxValueNameLen, lpcbMaxValueLen, lpcbSecurityDescriptor, lpftLastWriteTime)
  307. LONG BARFClusterRegQueryInfoKey(HKEY hKey, LPDWORD lpcSubKeys, LPDWORD lpcbMaxSubKeyLen, LPDWORD lpcValues, LPDWORD lpcbMaxValueNameLen, LPDWORD lpcbMaxValueLen, LPDWORD lpcbSecurityDescriptor, PFILETIME lpftLastWriteTime);
  308. #undef ClusterRegQueryValue
  309. #define ClusterRegQueryValue(_hKey, _lpszValueName, _lpdwValueType, _lpbData, _lpcbData) BARFClusterRegQueryValue(_hKey, _lpszValueName, _lpdwValueType, _lpbData, _lpcbData)
  310. LONG BARFClusterRegQueryValue(HKEY hKey, LPCWSTR lpszValueName, LPDWORD lpdwValueType, LPBYTE lpbData, LPDWORD lpcbData);
  311. #undef ClusterRegSetKeySecurity
  312. #define ClusterRegSetKeySecurity(_hKey, _SecurityInformation, _pSecurityDescriptor) BARFClusterRegSetKeySecurity(_hKey, _SecurityInformation, _pSecurityDescriptor)
  313. LONG BARFClusterRegSetKeySecurity(HKEY hKey, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor);
  314. #undef ClusterRegSetValue
  315. #define ClusterRegSetValue(_hKey, _lpszValueName, _dwType, _lpbData, _cbData) BARFClusterRegSetValue(_hKey, _lpszValueName, _dwType, _lpbData, _cbData)
  316. DWORD BARFClusterRegSetValue(HKEY hKey, LPCWSTR lpszValueName, DWORD dwType, CONST BYTE * lpbData, DWORD cbData);
  317. #undef GetClusterGroupKey
  318. #define GetClusterGroupKey(_hGroup, _samDesired) BARFGetClusterGroupKey(_hGroup, _samDesired)
  319. HKEY BARFGetClusterGroupKey(HGROUP hGroup, REGSAM samDesired);
  320. #undef GetClusterKey
  321. #define GetClusterKey(_hCluster, _samDesired) BARFGetClusterKey(_hCluster, _samDesired)
  322. HKEY BARFGetClusterKey(HCLUSTER hCluster, REGSAM samDesired);
  323. #undef GetClusterNodeKey
  324. #define GetClusterNodeKey(_hNode, _samDesired) BARFGetClusterNodeKey(_hNode, _samDesired)
  325. HKEY BARFGetClusterNodeKey(HNODE hNode, REGSAM samDesired);
  326. #undef GetClusterResourceKey
  327. #define GetClusterResourceKey(_hResource, _samDesired) BARFGetClusterResourceKey(_hResource, _samDesired)
  328. HKEY BARFGetClusterResourceKey(HRESOURCE hResource, REGSAM samDesired);
  329. #undef GetClusterResourceTypeKey
  330. #define GetClusterResourceTypeKey(_hCluster, _lpszTypeName, _samDesired) BARFGetClusterResourceTypeKey(_hCluster, _lpszTypeName, _samDesired)
  331. HKEY BARFGetClusterResourceTypeKey(HCLUSTER hCluster, LPCWSTR lpszTypeName, REGSAM samDesired);
  332. #undef GetClusterNetworkKey
  333. #define GetClusterNetworkKey(_hNetwork, _samDesired) BARFGetClusterNetworkKey(_hNetwork, _samDesired)
  334. HKEY BARFGetClusterNetworkKey(HNETWORK hNetwork, REGSAM samDesired);
  335. #undef GetClusterNetInterfaceKey
  336. #define GetClusterNetInterfaceKey(_hNetInterface, _samDesired) BARFGetClusterNetInterfaceKey(_hNetInterface, _samDesired)
  337. HKEY BARFGetClusterNetInterfaceKey(HNETINTERFACE hNetInterface, REGSAM samDesired);
  338. #endif // _DEBUG
  339. /////////////////////////////////////////////////////////////////////////////
  340. #endif // _NO_BARF_DEFINITIONS_
  341. #endif // _BARF_H_