MSClus.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:434k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for msclus.idl:
  5.     Oicf, W1, Zp8, env=Win32 (32b run)
  6.     protocol : dce , ms_ext, c_ext, robust
  7.     error checks: allocation ref bounds_check enum stub_data 
  8.     VC __declspec() decoration level: 
  9.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10.          DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING(  )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __msclus_h__
  27. #define __msclus_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */ 
  32. #ifndef __ClusApplication_FWD_DEFINED__
  33. #define __ClusApplication_FWD_DEFINED__
  34. #ifdef __cplusplus
  35. typedef class ClusApplication ClusApplication;
  36. #else
  37. typedef struct ClusApplication ClusApplication;
  38. #endif /* __cplusplus */
  39. #endif  /* __ClusApplication_FWD_DEFINED__ */
  40. #ifndef __Cluster_FWD_DEFINED__
  41. #define __Cluster_FWD_DEFINED__
  42. #ifdef __cplusplus
  43. typedef class Cluster Cluster;
  44. #else
  45. typedef struct Cluster Cluster;
  46. #endif /* __cplusplus */
  47. #endif  /* __Cluster_FWD_DEFINED__ */
  48. #ifndef __ClusVersion_FWD_DEFINED__
  49. #define __ClusVersion_FWD_DEFINED__
  50. #ifdef __cplusplus
  51. typedef class ClusVersion ClusVersion;
  52. #else
  53. typedef struct ClusVersion ClusVersion;
  54. #endif /* __cplusplus */
  55. #endif  /* __ClusVersion_FWD_DEFINED__ */
  56. #ifndef __ClusResType_FWD_DEFINED__
  57. #define __ClusResType_FWD_DEFINED__
  58. #ifdef __cplusplus
  59. typedef class ClusResType ClusResType;
  60. #else
  61. typedef struct ClusResType ClusResType;
  62. #endif /* __cplusplus */
  63. #endif  /* __ClusResType_FWD_DEFINED__ */
  64. #ifndef __ClusProperty_FWD_DEFINED__
  65. #define __ClusProperty_FWD_DEFINED__
  66. #ifdef __cplusplus
  67. typedef class ClusProperty ClusProperty;
  68. #else
  69. typedef struct ClusProperty ClusProperty;
  70. #endif /* __cplusplus */
  71. #endif  /* __ClusProperty_FWD_DEFINED__ */
  72. #ifndef __ClusProperties_FWD_DEFINED__
  73. #define __ClusProperties_FWD_DEFINED__
  74. #ifdef __cplusplus
  75. typedef class ClusProperties ClusProperties;
  76. #else
  77. typedef struct ClusProperties ClusProperties;
  78. #endif /* __cplusplus */
  79. #endif  /* __ClusProperties_FWD_DEFINED__ */
  80. #ifndef __DomainNames_FWD_DEFINED__
  81. #define __DomainNames_FWD_DEFINED__
  82. #ifdef __cplusplus
  83. typedef class DomainNames DomainNames;
  84. #else
  85. typedef struct DomainNames DomainNames;
  86. #endif /* __cplusplus */
  87. #endif  /* __DomainNames_FWD_DEFINED__ */
  88. #ifndef __ClusNetwork_FWD_DEFINED__
  89. #define __ClusNetwork_FWD_DEFINED__
  90. #ifdef __cplusplus
  91. typedef class ClusNetwork ClusNetwork;
  92. #else
  93. typedef struct ClusNetwork ClusNetwork;
  94. #endif /* __cplusplus */
  95. #endif  /* __ClusNetwork_FWD_DEFINED__ */
  96. #ifndef __ClusNetInterface_FWD_DEFINED__
  97. #define __ClusNetInterface_FWD_DEFINED__
  98. #ifdef __cplusplus
  99. typedef class ClusNetInterface ClusNetInterface;
  100. #else
  101. typedef struct ClusNetInterface ClusNetInterface;
  102. #endif /* __cplusplus */
  103. #endif  /* __ClusNetInterface_FWD_DEFINED__ */
  104. #ifndef __ClusNetInterfaces_FWD_DEFINED__
  105. #define __ClusNetInterfaces_FWD_DEFINED__
  106. #ifdef __cplusplus
  107. typedef class ClusNetInterfaces ClusNetInterfaces;
  108. #else
  109. typedef struct ClusNetInterfaces ClusNetInterfaces;
  110. #endif /* __cplusplus */
  111. #endif  /* __ClusNetInterfaces_FWD_DEFINED__ */
  112. #ifndef __ClusResDependencies_FWD_DEFINED__
  113. #define __ClusResDependencies_FWD_DEFINED__
  114. #ifdef __cplusplus
  115. typedef class ClusResDependencies ClusResDependencies;
  116. #else
  117. typedef struct ClusResDependencies ClusResDependencies;
  118. #endif /* __cplusplus */
  119. #endif  /* __ClusResDependencies_FWD_DEFINED__ */
  120. #ifndef __ClusResGroupResources_FWD_DEFINED__
  121. #define __ClusResGroupResources_FWD_DEFINED__
  122. #ifdef __cplusplus
  123. typedef class ClusResGroupResources ClusResGroupResources;
  124. #else
  125. typedef struct ClusResGroupResources ClusResGroupResources;
  126. #endif /* __cplusplus */
  127. #endif  /* __ClusResGroupResources_FWD_DEFINED__ */
  128. #ifndef __ClusResTypeResources_FWD_DEFINED__
  129. #define __ClusResTypeResources_FWD_DEFINED__
  130. #ifdef __cplusplus
  131. typedef class ClusResTypeResources ClusResTypeResources;
  132. #else
  133. typedef struct ClusResTypeResources ClusResTypeResources;
  134. #endif /* __cplusplus */
  135. #endif  /* __ClusResTypeResources_FWD_DEFINED__ */
  136. #ifndef __ClusResGroupPreferredOwnerNodes_FWD_DEFINED__
  137. #define __ClusResGroupPreferredOwnerNodes_FWD_DEFINED__
  138. #ifdef __cplusplus
  139. typedef class ClusResGroupPreferredOwnerNodes ClusResGroupPreferredOwnerNodes;
  140. #else
  141. typedef struct ClusResGroupPreferredOwnerNodes ClusResGroupPreferredOwnerNodes;
  142. #endif /* __cplusplus */
  143. #endif  /* __ClusResGroupPreferredOwnerNodes_FWD_DEFINED__ */
  144. #ifndef __ClusResPossibleOwnerNodes_FWD_DEFINED__
  145. #define __ClusResPossibleOwnerNodes_FWD_DEFINED__
  146. #ifdef __cplusplus
  147. typedef class ClusResPossibleOwnerNodes ClusResPossibleOwnerNodes;
  148. #else
  149. typedef struct ClusResPossibleOwnerNodes ClusResPossibleOwnerNodes;
  150. #endif /* __cplusplus */
  151. #endif  /* __ClusResPossibleOwnerNodes_FWD_DEFINED__ */
  152. #ifndef __ClusNetworks_FWD_DEFINED__
  153. #define __ClusNetworks_FWD_DEFINED__
  154. #ifdef __cplusplus
  155. typedef class ClusNetworks ClusNetworks;
  156. #else
  157. typedef struct ClusNetworks ClusNetworks;
  158. #endif /* __cplusplus */
  159. #endif  /* __ClusNetworks_FWD_DEFINED__ */
  160. #ifndef __ClusNetworkNetInterfaces_FWD_DEFINED__
  161. #define __ClusNetworkNetInterfaces_FWD_DEFINED__
  162. #ifdef __cplusplus
  163. typedef class ClusNetworkNetInterfaces ClusNetworkNetInterfaces;
  164. #else
  165. typedef struct ClusNetworkNetInterfaces ClusNetworkNetInterfaces;
  166. #endif /* __cplusplus */
  167. #endif  /* __ClusNetworkNetInterfaces_FWD_DEFINED__ */
  168. #ifndef __ClusNodeNetInterfaces_FWD_DEFINED__
  169. #define __ClusNodeNetInterfaces_FWD_DEFINED__
  170. #ifdef __cplusplus
  171. typedef class ClusNodeNetInterfaces ClusNodeNetInterfaces;
  172. #else
  173. typedef struct ClusNodeNetInterfaces ClusNodeNetInterfaces;
  174. #endif /* __cplusplus */
  175. #endif  /* __ClusNodeNetInterfaces_FWD_DEFINED__ */
  176. #ifndef __ClusRefObject_FWD_DEFINED__
  177. #define __ClusRefObject_FWD_DEFINED__
  178. #ifdef __cplusplus
  179. typedef class ClusRefObject ClusRefObject;
  180. #else
  181. typedef struct ClusRefObject ClusRefObject;
  182. #endif /* __cplusplus */
  183. #endif  /* __ClusRefObject_FWD_DEFINED__ */
  184. #ifndef __ClusterNames_FWD_DEFINED__
  185. #define __ClusterNames_FWD_DEFINED__
  186. #ifdef __cplusplus
  187. typedef class ClusterNames ClusterNames;
  188. #else
  189. typedef struct ClusterNames ClusterNames;
  190. #endif /* __cplusplus */
  191. #endif  /* __ClusterNames_FWD_DEFINED__ */
  192. #ifndef __ClusNode_FWD_DEFINED__
  193. #define __ClusNode_FWD_DEFINED__
  194. #ifdef __cplusplus
  195. typedef class ClusNode ClusNode;
  196. #else
  197. typedef struct ClusNode ClusNode;
  198. #endif /* __cplusplus */
  199. #endif  /* __ClusNode_FWD_DEFINED__ */
  200. #ifndef __ClusNodes_FWD_DEFINED__
  201. #define __ClusNodes_FWD_DEFINED__
  202. #ifdef __cplusplus
  203. typedef class ClusNodes ClusNodes;
  204. #else
  205. typedef struct ClusNodes ClusNodes;
  206. #endif /* __cplusplus */
  207. #endif  /* __ClusNodes_FWD_DEFINED__ */
  208. #ifndef __ClusResGroup_FWD_DEFINED__
  209. #define __ClusResGroup_FWD_DEFINED__
  210. #ifdef __cplusplus
  211. typedef class ClusResGroup ClusResGroup;
  212. #else
  213. typedef struct ClusResGroup ClusResGroup;
  214. #endif /* __cplusplus */
  215. #endif  /* __ClusResGroup_FWD_DEFINED__ */
  216. #ifndef __ClusResGroups_FWD_DEFINED__
  217. #define __ClusResGroups_FWD_DEFINED__
  218. #ifdef __cplusplus
  219. typedef class ClusResGroups ClusResGroups;
  220. #else
  221. typedef struct ClusResGroups ClusResGroups;
  222. #endif /* __cplusplus */
  223. #endif  /* __ClusResGroups_FWD_DEFINED__ */
  224. #ifndef __ClusResource_FWD_DEFINED__
  225. #define __ClusResource_FWD_DEFINED__
  226. #ifdef __cplusplus
  227. typedef class ClusResource ClusResource;
  228. #else
  229. typedef struct ClusResource ClusResource;
  230. #endif /* __cplusplus */
  231. #endif  /* __ClusResource_FWD_DEFINED__ */
  232. #ifndef __ClusResources_FWD_DEFINED__
  233. #define __ClusResources_FWD_DEFINED__
  234. #ifdef __cplusplus
  235. typedef class ClusResources ClusResources;
  236. #else
  237. typedef struct ClusResources ClusResources;
  238. #endif /* __cplusplus */
  239. #endif  /* __ClusResources_FWD_DEFINED__ */
  240. #ifndef __ClusResTypes_FWD_DEFINED__
  241. #define __ClusResTypes_FWD_DEFINED__
  242. #ifdef __cplusplus
  243. typedef class ClusResTypes ClusResTypes;
  244. #else
  245. typedef struct ClusResTypes ClusResTypes;
  246. #endif /* __cplusplus */
  247. #endif  /* __ClusResTypes_FWD_DEFINED__ */
  248. #ifndef __ClusResTypePossibleOwnerNodes_FWD_DEFINED__
  249. #define __ClusResTypePossibleOwnerNodes_FWD_DEFINED__
  250. #ifdef __cplusplus
  251. typedef class ClusResTypePossibleOwnerNodes ClusResTypePossibleOwnerNodes;
  252. #else
  253. typedef struct ClusResTypePossibleOwnerNodes ClusResTypePossibleOwnerNodes;
  254. #endif /* __cplusplus */
  255. #endif  /* __ClusResTypePossibleOwnerNodes_FWD_DEFINED__ */
  256. #ifndef __ClusPropertyValue_FWD_DEFINED__
  257. #define __ClusPropertyValue_FWD_DEFINED__
  258. #ifdef __cplusplus
  259. typedef class ClusPropertyValue ClusPropertyValue;
  260. #else
  261. typedef struct ClusPropertyValue ClusPropertyValue;
  262. #endif /* __cplusplus */
  263. #endif  /* __ClusPropertyValue_FWD_DEFINED__ */
  264. #ifndef __ClusPropertyValues_FWD_DEFINED__
  265. #define __ClusPropertyValues_FWD_DEFINED__
  266. #ifdef __cplusplus
  267. typedef class ClusPropertyValues ClusPropertyValues;
  268. #else
  269. typedef struct ClusPropertyValues ClusPropertyValues;
  270. #endif /* __cplusplus */
  271. #endif  /* __ClusPropertyValues_FWD_DEFINED__ */
  272. #ifndef __ClusPropertyValueData_FWD_DEFINED__
  273. #define __ClusPropertyValueData_FWD_DEFINED__
  274. #ifdef __cplusplus
  275. typedef class ClusPropertyValueData ClusPropertyValueData;
  276. #else
  277. typedef struct ClusPropertyValueData ClusPropertyValueData;
  278. #endif /* __cplusplus */
  279. #endif  /* __ClusPropertyValueData_FWD_DEFINED__ */
  280. #ifndef __ClusPartition_FWD_DEFINED__
  281. #define __ClusPartition_FWD_DEFINED__
  282. #ifdef __cplusplus
  283. typedef class ClusPartition ClusPartition;
  284. #else
  285. typedef struct ClusPartition ClusPartition;
  286. #endif /* __cplusplus */
  287. #endif  /* __ClusPartition_FWD_DEFINED__ */
  288. #ifndef __ClusPartitions_FWD_DEFINED__
  289. #define __ClusPartitions_FWD_DEFINED__
  290. #ifdef __cplusplus
  291. typedef class ClusPartitions ClusPartitions;
  292. #else
  293. typedef struct ClusPartitions ClusPartitions;
  294. #endif /* __cplusplus */
  295. #endif  /* __ClusPartitions_FWD_DEFINED__ */
  296. #ifndef __ClusDisk_FWD_DEFINED__
  297. #define __ClusDisk_FWD_DEFINED__
  298. #ifdef __cplusplus
  299. typedef class ClusDisk ClusDisk;
  300. #else
  301. typedef struct ClusDisk ClusDisk;
  302. #endif /* __cplusplus */
  303. #endif  /* __ClusDisk_FWD_DEFINED__ */
  304. #ifndef __ClusDisks_FWD_DEFINED__
  305. #define __ClusDisks_FWD_DEFINED__
  306. #ifdef __cplusplus
  307. typedef class ClusDisks ClusDisks;
  308. #else
  309. typedef struct ClusDisks ClusDisks;
  310. #endif /* __cplusplus */
  311. #endif  /* __ClusDisks_FWD_DEFINED__ */
  312. #ifndef __ClusScsiAddress_FWD_DEFINED__
  313. #define __ClusScsiAddress_FWD_DEFINED__
  314. #ifdef __cplusplus
  315. typedef class ClusScsiAddress ClusScsiAddress;
  316. #else
  317. typedef struct ClusScsiAddress ClusScsiAddress;
  318. #endif /* __cplusplus */
  319. #endif  /* __ClusScsiAddress_FWD_DEFINED__ */
  320. #ifndef __ClusRegistryKeys_FWD_DEFINED__
  321. #define __ClusRegistryKeys_FWD_DEFINED__
  322. #ifdef __cplusplus
  323. typedef class ClusRegistryKeys ClusRegistryKeys;
  324. #else
  325. typedef struct ClusRegistryKeys ClusRegistryKeys;
  326. #endif /* __cplusplus */
  327. #endif  /* __ClusRegistryKeys_FWD_DEFINED__ */
  328. #ifndef __ClusCryptoKeys_FWD_DEFINED__
  329. #define __ClusCryptoKeys_FWD_DEFINED__
  330. #ifdef __cplusplus
  331. typedef class ClusCryptoKeys ClusCryptoKeys;
  332. #else
  333. typedef struct ClusCryptoKeys ClusCryptoKeys;
  334. #endif /* __cplusplus */
  335. #endif  /* __ClusCryptoKeys_FWD_DEFINED__ */
  336. #ifndef __ClusResDependents_FWD_DEFINED__
  337. #define __ClusResDependents_FWD_DEFINED__
  338. #ifdef __cplusplus
  339. typedef class ClusResDependents ClusResDependents;
  340. #else
  341. typedef struct ClusResDependents ClusResDependents;
  342. #endif /* __cplusplus */
  343. #endif  /* __ClusResDependents_FWD_DEFINED__ */
  344. #ifndef __ISClusApplication_FWD_DEFINED__
  345. #define __ISClusApplication_FWD_DEFINED__
  346. typedef interface ISClusApplication ISClusApplication;
  347. #endif  /* __ISClusApplication_FWD_DEFINED__ */
  348. #ifndef __ISDomainNames_FWD_DEFINED__
  349. #define __ISDomainNames_FWD_DEFINED__
  350. typedef interface ISDomainNames ISDomainNames;
  351. #endif  /* __ISDomainNames_FWD_DEFINED__ */
  352. #ifndef __ISClusterNames_FWD_DEFINED__
  353. #define __ISClusterNames_FWD_DEFINED__
  354. typedef interface ISClusterNames ISClusterNames;
  355. #endif  /* __ISClusterNames_FWD_DEFINED__ */
  356. #ifndef __ISClusRefObject_FWD_DEFINED__
  357. #define __ISClusRefObject_FWD_DEFINED__
  358. typedef interface ISClusRefObject ISClusRefObject;
  359. #endif  /* __ISClusRefObject_FWD_DEFINED__ */
  360. #ifndef __ISClusVersion_FWD_DEFINED__
  361. #define __ISClusVersion_FWD_DEFINED__
  362. typedef interface ISClusVersion ISClusVersion;
  363. #endif  /* __ISClusVersion_FWD_DEFINED__ */
  364. #ifndef __ISCluster_FWD_DEFINED__
  365. #define __ISCluster_FWD_DEFINED__
  366. typedef interface ISCluster ISCluster;
  367. #endif  /* __ISCluster_FWD_DEFINED__ */
  368. #ifndef __ISClusNode_FWD_DEFINED__
  369. #define __ISClusNode_FWD_DEFINED__
  370. typedef interface ISClusNode ISClusNode;
  371. #endif  /* __ISClusNode_FWD_DEFINED__ */
  372. #ifndef __ISClusNodes_FWD_DEFINED__
  373. #define __ISClusNodes_FWD_DEFINED__
  374. typedef interface ISClusNodes ISClusNodes;
  375. #endif  /* __ISClusNodes_FWD_DEFINED__ */
  376. #ifndef __ISClusNetwork_FWD_DEFINED__
  377. #define __ISClusNetwork_FWD_DEFINED__
  378. typedef interface ISClusNetwork ISClusNetwork;
  379. #endif  /* __ISClusNetwork_FWD_DEFINED__ */
  380. #ifndef __ISClusNetworks_FWD_DEFINED__
  381. #define __ISClusNetworks_FWD_DEFINED__
  382. typedef interface ISClusNetworks ISClusNetworks;
  383. #endif  /* __ISClusNetworks_FWD_DEFINED__ */
  384. #ifndef __ISClusNetInterface_FWD_DEFINED__
  385. #define __ISClusNetInterface_FWD_DEFINED__
  386. typedef interface ISClusNetInterface ISClusNetInterface;
  387. #endif  /* __ISClusNetInterface_FWD_DEFINED__ */
  388. #ifndef __ISClusNetInterfaces_FWD_DEFINED__
  389. #define __ISClusNetInterfaces_FWD_DEFINED__
  390. typedef interface ISClusNetInterfaces ISClusNetInterfaces;
  391. #endif  /* __ISClusNetInterfaces_FWD_DEFINED__ */
  392. #ifndef __ISClusNodeNetInterfaces_FWD_DEFINED__
  393. #define __ISClusNodeNetInterfaces_FWD_DEFINED__
  394. typedef interface ISClusNodeNetInterfaces ISClusNodeNetInterfaces;
  395. #endif  /* __ISClusNodeNetInterfaces_FWD_DEFINED__ */
  396. #ifndef __ISClusNetworkNetInterfaces_FWD_DEFINED__
  397. #define __ISClusNetworkNetInterfaces_FWD_DEFINED__
  398. typedef interface ISClusNetworkNetInterfaces ISClusNetworkNetInterfaces;
  399. #endif  /* __ISClusNetworkNetInterfaces_FWD_DEFINED__ */
  400. #ifndef __ISClusResGroup_FWD_DEFINED__
  401. #define __ISClusResGroup_FWD_DEFINED__
  402. typedef interface ISClusResGroup ISClusResGroup;
  403. #endif  /* __ISClusResGroup_FWD_DEFINED__ */
  404. #ifndef __ISClusResGroups_FWD_DEFINED__
  405. #define __ISClusResGroups_FWD_DEFINED__
  406. typedef interface ISClusResGroups ISClusResGroups;
  407. #endif  /* __ISClusResGroups_FWD_DEFINED__ */
  408. #ifndef __ISClusResource_FWD_DEFINED__
  409. #define __ISClusResource_FWD_DEFINED__
  410. typedef interface ISClusResource ISClusResource;
  411. #endif  /* __ISClusResource_FWD_DEFINED__ */
  412. #ifndef __ISClusResDependencies_FWD_DEFINED__
  413. #define __ISClusResDependencies_FWD_DEFINED__
  414. typedef interface ISClusResDependencies ISClusResDependencies;
  415. #endif  /* __ISClusResDependencies_FWD_DEFINED__ */
  416. #ifndef __ISClusResGroupResources_FWD_DEFINED__
  417. #define __ISClusResGroupResources_FWD_DEFINED__
  418. typedef interface ISClusResGroupResources ISClusResGroupResources;
  419. #endif  /* __ISClusResGroupResources_FWD_DEFINED__ */
  420. #ifndef __ISClusResTypeResources_FWD_DEFINED__
  421. #define __ISClusResTypeResources_FWD_DEFINED__
  422. typedef interface ISClusResTypeResources ISClusResTypeResources;
  423. #endif  /* __ISClusResTypeResources_FWD_DEFINED__ */
  424. #ifndef __ISClusResources_FWD_DEFINED__
  425. #define __ISClusResources_FWD_DEFINED__
  426. typedef interface ISClusResources ISClusResources;
  427. #endif  /* __ISClusResources_FWD_DEFINED__ */
  428. #ifndef __ISClusResGroupPreferredOwnerNodes_FWD_DEFINED__
  429. #define __ISClusResGroupPreferredOwnerNodes_FWD_DEFINED__
  430. typedef interface ISClusResGroupPreferredOwnerNodes ISClusResGroupPreferredOwnerNodes;
  431. #endif  /* __ISClusResGroupPreferredOwnerNodes_FWD_DEFINED__ */
  432. #ifndef __ISClusResPossibleOwnerNodes_FWD_DEFINED__
  433. #define __ISClusResPossibleOwnerNodes_FWD_DEFINED__
  434. typedef interface ISClusResPossibleOwnerNodes ISClusResPossibleOwnerNodes;
  435. #endif  /* __ISClusResPossibleOwnerNodes_FWD_DEFINED__ */
  436. #ifndef __ISClusResTypePossibleOwnerNodes_FWD_DEFINED__
  437. #define __ISClusResTypePossibleOwnerNodes_FWD_DEFINED__
  438. typedef interface ISClusResTypePossibleOwnerNodes ISClusResTypePossibleOwnerNodes;
  439. #endif  /* __ISClusResTypePossibleOwnerNodes_FWD_DEFINED__ */
  440. #ifndef __ISClusResType_FWD_DEFINED__
  441. #define __ISClusResType_FWD_DEFINED__
  442. typedef interface ISClusResType ISClusResType;
  443. #endif  /* __ISClusResType_FWD_DEFINED__ */
  444. #ifndef __ISClusResTypes_FWD_DEFINED__
  445. #define __ISClusResTypes_FWD_DEFINED__
  446. typedef interface ISClusResTypes ISClusResTypes;
  447. #endif  /* __ISClusResTypes_FWD_DEFINED__ */
  448. #ifndef __ISClusProperty_FWD_DEFINED__
  449. #define __ISClusProperty_FWD_DEFINED__
  450. typedef interface ISClusProperty ISClusProperty;
  451. #endif  /* __ISClusProperty_FWD_DEFINED__ */
  452. #ifndef __ISClusPropertyValue_FWD_DEFINED__
  453. #define __ISClusPropertyValue_FWD_DEFINED__
  454. typedef interface ISClusPropertyValue ISClusPropertyValue;
  455. #endif  /* __ISClusPropertyValue_FWD_DEFINED__ */
  456. #ifndef __ISClusPropertyValues_FWD_DEFINED__
  457. #define __ISClusPropertyValues_FWD_DEFINED__
  458. typedef interface ISClusPropertyValues ISClusPropertyValues;
  459. #endif  /* __ISClusPropertyValues_FWD_DEFINED__ */
  460. #ifndef __ISClusProperties_FWD_DEFINED__
  461. #define __ISClusProperties_FWD_DEFINED__
  462. typedef interface ISClusProperties ISClusProperties;
  463. #endif  /* __ISClusProperties_FWD_DEFINED__ */
  464. #ifndef __ISClusPropertyValueData_FWD_DEFINED__
  465. #define __ISClusPropertyValueData_FWD_DEFINED__
  466. typedef interface ISClusPropertyValueData ISClusPropertyValueData;
  467. #endif  /* __ISClusPropertyValueData_FWD_DEFINED__ */
  468. #ifndef __ISClusPartition_FWD_DEFINED__
  469. #define __ISClusPartition_FWD_DEFINED__
  470. typedef interface ISClusPartition ISClusPartition;
  471. #endif  /* __ISClusPartition_FWD_DEFINED__ */
  472. #ifndef __ISClusPartitions_FWD_DEFINED__
  473. #define __ISClusPartitions_FWD_DEFINED__
  474. typedef interface ISClusPartitions ISClusPartitions;
  475. #endif  /* __ISClusPartitions_FWD_DEFINED__ */
  476. #ifndef __ISClusDisk_FWD_DEFINED__
  477. #define __ISClusDisk_FWD_DEFINED__
  478. typedef interface ISClusDisk ISClusDisk;
  479. #endif  /* __ISClusDisk_FWD_DEFINED__ */
  480. #ifndef __ISClusDisks_FWD_DEFINED__
  481. #define __ISClusDisks_FWD_DEFINED__
  482. typedef interface ISClusDisks ISClusDisks;
  483. #endif  /* __ISClusDisks_FWD_DEFINED__ */
  484. #ifndef __ISClusScsiAddress_FWD_DEFINED__
  485. #define __ISClusScsiAddress_FWD_DEFINED__
  486. typedef interface ISClusScsiAddress ISClusScsiAddress;
  487. #endif  /* __ISClusScsiAddress_FWD_DEFINED__ */
  488. #ifndef __ISClusRegistryKeys_FWD_DEFINED__
  489. #define __ISClusRegistryKeys_FWD_DEFINED__
  490. typedef interface ISClusRegistryKeys ISClusRegistryKeys;
  491. #endif  /* __ISClusRegistryKeys_FWD_DEFINED__ */
  492. #ifndef __ISClusCryptoKeys_FWD_DEFINED__
  493. #define __ISClusCryptoKeys_FWD_DEFINED__
  494. typedef interface ISClusCryptoKeys ISClusCryptoKeys;
  495. #endif  /* __ISClusCryptoKeys_FWD_DEFINED__ */
  496. #ifndef __ISClusResDependents_FWD_DEFINED__
  497. #define __ISClusResDependents_FWD_DEFINED__
  498. typedef interface ISClusResDependents ISClusResDependents;
  499. #endif  /* __ISClusResDependents_FWD_DEFINED__ */
  500. /* header files for imported files */
  501. #include "basetsd.h"
  502. #include "oaidl.h"
  503. #ifdef __cplusplus
  504. extern "C"{
  505. #endif 
  506. void * __RPC_USER MIDL_user_allocate(size_t);
  507. void __RPC_USER MIDL_user_free( void * ); 
  508. /* interface __MIDL_itf_msclus_0000 */
  509. /* [local] */ 
  510. #ifndef _CLUSTER_API_TYPES_
  511. #define _CLUSTER_API_TYPES_
  512. #pragma once
  513. typedef struct _HCLUSTER *HCLUSTER;
  514. typedef struct _HNODE *HNODE;
  515. typedef struct _HRESOURCE *HRESOURCE;
  516. typedef struct _HGROUP *HGROUP;
  517. typedef struct _HNETWORK *HNETWORK;
  518. typedef struct _HNETINTERFACE *HNETINTERFACE;
  519. typedef struct _HCHANGE *HCHANGE;
  520. typedef struct _HCLUSENUM *HCLUSENUM;
  521. typedef struct _HGROUPENUM *HGROUPENUM;
  522. typedef struct _HRESENUM *HRESENUM;
  523. typedef struct _HNETWORKENUM *HNETWORKENUM;
  524. typedef struct _HNODEENUM *HNODEENUM;
  525. typedef struct _HRESTYPEENUM *HRESTYPEENUM;
  526. typedef 
  527. enum CLUSTER_QUORUM_TYPE
  528.     { OperationalQuorum = 0,
  529. ModifyQuorum = OperationalQuorum + 1
  530.     }  CLUSTER_QUORUM_TYPE;
  531. typedef 
  532. enum CLUSTER_CHANGE
  533.     { CLUSTER_CHANGE_NODE_STATE = 0x1,
  534. CLUSTER_CHANGE_NODE_DELETED = 0x2,
  535. CLUSTER_CHANGE_NODE_ADDED = 0x4,
  536. CLUSTER_CHANGE_NODE_PROPERTY = 0x8,
  537. CLUSTER_CHANGE_REGISTRY_NAME = 0x10,
  538. CLUSTER_CHANGE_REGISTRY_ATTRIBUTES = 0x20,
  539. CLUSTER_CHANGE_REGISTRY_VALUE = 0x40,
  540. CLUSTER_CHANGE_REGISTRY_SUBTREE = 0x80,
  541. CLUSTER_CHANGE_RESOURCE_STATE = 0x100,
  542. CLUSTER_CHANGE_RESOURCE_DELETED = 0x200,
  543. CLUSTER_CHANGE_RESOURCE_ADDED = 0x400,
  544. CLUSTER_CHANGE_RESOURCE_PROPERTY = 0x800,
  545. CLUSTER_CHANGE_GROUP_STATE = 0x1000,
  546. CLUSTER_CHANGE_GROUP_DELETED = 0x2000,
  547. CLUSTER_CHANGE_GROUP_ADDED = 0x4000,
  548. CLUSTER_CHANGE_GROUP_PROPERTY = 0x8000,
  549. CLUSTER_CHANGE_RESOURCE_TYPE_DELETED = 0x10000,
  550. CLUSTER_CHANGE_RESOURCE_TYPE_ADDED = 0x20000,
  551. CLUSTER_CHANGE_RESOURCE_TYPE_PROPERTY = 0x40000,
  552. CLUSTER_CHANGE_CLUSTER_RECONNECT = 0x80000,
  553. CLUSTER_CHANGE_NETWORK_STATE = 0x100000,
  554. CLUSTER_CHANGE_NETWORK_DELETED = 0x200000,
  555. CLUSTER_CHANGE_NETWORK_ADDED = 0x400000,
  556. CLUSTER_CHANGE_NETWORK_PROPERTY = 0x800000,
  557. CLUSTER_CHANGE_NETINTERFACE_STATE = 0x1000000,
  558. CLUSTER_CHANGE_NETINTERFACE_DELETED = 0x2000000,
  559. CLUSTER_CHANGE_NETINTERFACE_ADDED = 0x4000000,
  560. CLUSTER_CHANGE_NETINTERFACE_PROPERTY = 0x8000000,
  561. CLUSTER_CHANGE_QUORUM_STATE = 0x10000000,
  562. CLUSTER_CHANGE_CLUSTER_STATE = 0x20000000,
  563. CLUSTER_CHANGE_CLUSTER_PROPERTY = 0x40000000,
  564. CLUSTER_CHANGE_HANDLE_CLOSE = 0x80000000,
  565. CLUSTER_CHANGE_ALL = CLUSTER_CHANGE_NODE_STATE | CLUSTER_CHANGE_NODE_DELETED | CLUSTER_CHANGE_NODE_ADDED | CLUSTER_CHANGE_NODE_PROPERTY | CLUSTER_CHANGE_REGISTRY_NAME | CLUSTER_CHANGE_REGISTRY_ATTRIBUTES | CLUSTER_CHANGE_REGISTRY_VALUE | CLUSTER_CHANGE_REGISTRY_SUBTREE | CLUSTER_CHANGE_RESOURCE_STATE | CLUSTER_CHANGE_RESOURCE_DELETED | CLUSTER_CHANGE_RESOURCE_ADDED | CLUSTER_CHANGE_RESOURCE_PROPERTY | CLUSTER_CHANGE_GROUP_STATE | CLUSTER_CHANGE_GROUP_DELETED | CLUSTER_CHANGE_GROUP_ADDED | CLUSTER_CHANGE_GROUP_PROPERTY | CLUSTER_CHANGE_RESOURCE_TYPE_DELETED | CLUSTER_CHANGE_RESOURCE_TYPE_ADDED | CLUSTER_CHANGE_RESOURCE_TYPE_PROPERTY | CLUSTER_CHANGE_NETWORK_STATE | CLUSTER_CHANGE_NETWORK_DELETED | CLUSTER_CHANGE_NETWORK_ADDED | CLUSTER_CHANGE_NETWORK_PROPERTY | CLUSTER_CHANGE_NETINTERFACE_STATE | CLUSTER_CHANGE_NETINTERFACE_DELETED | CLUSTER_CHANGE_NETINTERFACE_ADDED | CLUSTER_CHANGE_NETINTERFACE_PROPERTY | CLUSTER_CHANGE_QUORUM_STATE | CLUSTER_CHANGE_CLUSTER_STATE | CLUSTER_CHANGE_CLUSTER_PROPERTY | CLUSTER_CHANGE_CLUSTER_RECONNECT | CLUSTER_CHANGE_HANDLE_CLOSE
  566.     }  CLUSTER_CHANGE;
  567. typedef 
  568. enum CLUSTER_ENUM
  569.     { CLUSTER_ENUM_NODE = 0x1,
  570. CLUSTER_ENUM_RESTYPE = 0x2,
  571. CLUSTER_ENUM_RESOURCE = 0x4,
  572. CLUSTER_ENUM_GROUP = 0x8,
  573. CLUSTER_ENUM_NETWORK = 0x10,
  574. CLUSTER_ENUM_NETINTERFACE = 0x20,
  575. CLUSTER_ENUM_INTERNAL_NETWORK = 0x80000000,
  576. CLUSTER_ENUM_ALL = CLUSTER_ENUM_NODE | CLUSTER_ENUM_RESTYPE | CLUSTER_ENUM_RESOURCE | CLUSTER_ENUM_GROUP | CLUSTER_ENUM_NETWORK | CLUSTER_ENUM_NETINTERFACE
  577.     }  CLUSTER_ENUM;
  578. typedef 
  579. enum CLUSTER_NODE_ENUM
  580.     { CLUSTER_NODE_ENUM_NETINTERFACES = 0x1,
  581. CLUSTER_NODE_ENUM_ALL = CLUSTER_NODE_ENUM_NETINTERFACES
  582.     }  CLUSTER_NODE_ENUM;
  583. typedef 
  584. enum CLUSTER_NODE_STATE
  585.     { ClusterNodeStateUnknown = -1,
  586. ClusterNodeUp = ClusterNodeStateUnknown + 1,
  587. ClusterNodeDown = ClusterNodeUp + 1,
  588. ClusterNodePaused = ClusterNodeDown + 1,
  589. ClusterNodeJoining = ClusterNodePaused + 1
  590.     }  CLUSTER_NODE_STATE;
  591. typedef 
  592. enum CLUSTER_GROUP_ENUM
  593.     { CLUSTER_GROUP_ENUM_CONTAINS = 0x1,
  594. CLUSTER_GROUP_ENUM_NODES = 0x2,
  595. CLUSTER_GROUP_ENUM_ALL = CLUSTER_GROUP_ENUM_CONTAINS | CLUSTER_GROUP_ENUM_NODES
  596.     }  CLUSTER_GROUP_ENUM;
  597. typedef 
  598. enum CLUSTER_GROUP_STATE
  599.     { ClusterGroupStateUnknown = -1,
  600. ClusterGroupOnline = ClusterGroupStateUnknown + 1,
  601. ClusterGroupOffline = ClusterGroupOnline + 1,
  602. ClusterGroupFailed = ClusterGroupOffline + 1,
  603. ClusterGroupPartialOnline = ClusterGroupFailed + 1,
  604. ClusterGroupPending = ClusterGroupPartialOnline + 1
  605.     }  CLUSTER_GROUP_STATE;
  606. typedef 
  607. enum CLUSTER_GROUP_AUTOFAILBACK_TYPE
  608.     { ClusterGroupPreventFailback = 0,
  609. ClusterGroupAllowFailback = ClusterGroupPreventFailback + 1,
  610. ClusterGroupFailbackTypeCount = ClusterGroupAllowFailback + 1
  611.     }  CLUSTER_GROUP_AUTOFAILBACK_TYPE;
  612. typedef enum CLUSTER_GROUP_AUTOFAILBACK_TYPE CGAFT;
  613. typedef 
  614. enum CLUSTER_RESOURCE_STATE
  615.     { ClusterResourceStateUnknown = -1,
  616. ClusterResourceInherited = ClusterResourceStateUnknown + 1,
  617. ClusterResourceInitializing = ClusterResourceInherited + 1,
  618. ClusterResourceOnline = ClusterResourceInitializing + 1,
  619. ClusterResourceOffline = ClusterResourceOnline + 1,
  620. ClusterResourceFailed = ClusterResourceOffline + 1,
  621. ClusterResourcePending = 128,
  622. ClusterResourceOnlinePending = ClusterResourcePending + 1,
  623. ClusterResourceOfflinePending = ClusterResourceOnlinePending + 1
  624.     }  CLUSTER_RESOURCE_STATE;
  625. typedef 
  626. enum CLUSTER_RESOURCE_RESTART_ACTION
  627.     { ClusterResourceDontRestart = 0,
  628. ClusterResourceRestartNoNotify = ClusterResourceDontRestart + 1,
  629. ClusterResourceRestartNotify = ClusterResourceRestartNoNotify + 1,
  630. ClusterResourceRestartActionCount = ClusterResourceRestartNotify + 1
  631.     }  CLUSTER_RESOURCE_RESTART_ACTION;
  632. typedef enum CLUSTER_RESOURCE_RESTART_ACTION CRRA;
  633. typedef 
  634. enum CLUSTER_RESOURCE_CREATE_FLAGS
  635.     { CLUSTER_RESOURCE_DEFAULT_MONITOR = 0,
  636. CLUSTER_RESOURCE_SEPARATE_MONITOR = 1,
  637. CLUSTER_RESOURCE_VALID_FLAGS = CLUSTER_RESOURCE_SEPARATE_MONITOR
  638.     }  CLUSTER_RESOURCE_CREATE_FLAGS;
  639. typedef 
  640. enum CLUSTER_PROPERTY_TYPE
  641.     { CLUSPROP_TYPE_UNKNOWN = -1,
  642. CLUSPROP_TYPE_ENDMARK = 0,
  643. CLUSPROP_TYPE_LIST_VALUE = CLUSPROP_TYPE_ENDMARK + 1,
  644. CLUSPROP_TYPE_RESCLASS = CLUSPROP_TYPE_LIST_VALUE + 1,
  645. CLUSPROP_TYPE_RESERVED1 = CLUSPROP_TYPE_RESCLASS + 1,
  646. CLUSPROP_TYPE_NAME = CLUSPROP_TYPE_RESERVED1 + 1,
  647. CLUSPROP_TYPE_SIGNATURE = CLUSPROP_TYPE_NAME + 1,
  648. CLUSPROP_TYPE_SCSI_ADDRESS = CLUSPROP_TYPE_SIGNATURE + 1,
  649. CLUSPROP_TYPE_DISK_NUMBER = CLUSPROP_TYPE_SCSI_ADDRESS + 1,
  650. CLUSPROP_TYPE_PARTITION_INFO = CLUSPROP_TYPE_DISK_NUMBER + 1,
  651. CLUSPROP_TYPE_FTSET_INFO = CLUSPROP_TYPE_PARTITION_INFO + 1,
  652. CLUSPROP_TYPE_DISK_SERIALNUMBER = CLUSPROP_TYPE_FTSET_INFO + 1,
  653. CLUSPROP_TYPE_USER = 32768
  654.     }  CLUSTER_PROPERTY_TYPE;
  655. typedef 
  656. enum CLUSTER_PROPERTY_FORMAT
  657.     { CLUSPROP_FORMAT_UNKNOWN = 0,
  658. CLUSPROP_FORMAT_BINARY = CLUSPROP_FORMAT_UNKNOWN + 1,
  659. CLUSPROP_FORMAT_DWORD = CLUSPROP_FORMAT_BINARY + 1,
  660. CLUSPROP_FORMAT_SZ = CLUSPROP_FORMAT_DWORD + 1,
  661. CLUSPROP_FORMAT_EXPAND_SZ = CLUSPROP_FORMAT_SZ + 1,
  662. CLUSPROP_FORMAT_MULTI_SZ = CLUSPROP_FORMAT_EXPAND_SZ + 1,
  663. CLUSPROP_FORMAT_ULARGE_INTEGER = CLUSPROP_FORMAT_MULTI_SZ + 1,
  664. CLUSPROP_FORMAT_LONG = CLUSPROP_FORMAT_ULARGE_INTEGER + 1,
  665. CLUSPROP_FORMAT_EXPANDED_SZ = CLUSPROP_FORMAT_LONG + 1,
  666. CLUSPROP_FORMAT_SECURITY_DESCRIPTOR = CLUSPROP_FORMAT_EXPANDED_SZ + 1,
  667. CLUSPROP_FORMAT_LARGE_INTEGER = CLUSPROP_FORMAT_SECURITY_DESCRIPTOR + 1,
  668. CLUSPROP_FORMAT_WORD = CLUSPROP_FORMAT_LARGE_INTEGER + 1,
  669. CLUSPROP_FORMAT_USER = 32768
  670.     }  CLUSTER_PROPERTY_FORMAT;
  671. typedef 
  672. enum CLUSTER_PROPERTY_SYNTAX
  673.     { CLUSPROP_SYNTAX_ENDMARK = ( DWORD  )(CLUSPROP_TYPE_ENDMARK << 16 | CLUSPROP_FORMAT_UNKNOWN),
  674. CLUSPROP_SYNTAX_NAME = ( DWORD  )(CLUSPROP_TYPE_NAME << 16 | CLUSPROP_FORMAT_SZ),
  675. CLUSPROP_SYNTAX_RESCLASS = ( DWORD  )(CLUSPROP_TYPE_RESCLASS << 16 | CLUSPROP_FORMAT_DWORD),
  676. CLUSPROP_SYNTAX_LIST_VALUE_SZ = ( DWORD  )(CLUSPROP_TYPE_LIST_VALUE << 16 | CLUSPROP_FORMAT_SZ),
  677. CLUSPROP_SYNTAX_LIST_VALUE_EXPAND_SZ = ( DWORD  )(CLUSPROP_TYPE_LIST_VALUE << 16 | CLUSPROP_FORMAT_EXPAND_SZ),
  678. CLUSPROP_SYNTAX_LIST_VALUE_DWORD = ( DWORD  )(CLUSPROP_TYPE_LIST_VALUE << 16 | CLUSPROP_FORMAT_DWORD),
  679. CLUSPROP_SYNTAX_LIST_VALUE_BINARY = ( DWORD  )(CLUSPROP_TYPE_LIST_VALUE << 16 | CLUSPROP_FORMAT_BINARY),
  680. CLUSPROP_SYNTAX_LIST_VALUE_MULTI_SZ = ( DWORD  )(CLUSPROP_TYPE_LIST_VALUE << 16 | CLUSPROP_FORMAT_MULTI_SZ),
  681. CLUSPROP_SYNTAX_LIST_VALUE_LONG = ( DWORD  )(CLUSPROP_TYPE_LIST_VALUE << 16 | CLUSPROP_FORMAT_LONG),
  682. CLUSPROP_SYNTAX_LIST_VALUE_EXPANDED_SZ = ( DWORD  )(CLUSPROP_TYPE_LIST_VALUE << 16 | CLUSPROP_FORMAT_EXPANDED_SZ),
  683. CLUSPROP_SYNTAX_LIST_VALUE_SECURITY_DESCRIPTOR = ( DWORD  )(CLUSPROP_TYPE_LIST_VALUE << 16 | CLUSPROP_FORMAT_SECURITY_DESCRIPTOR),
  684. CLUSPROP_SYNTAX_LIST_VALUE_LARGE_INTEGER = ( DWORD  )(CLUSPROP_TYPE_LIST_VALUE << 16 | CLUSPROP_FORMAT_LARGE_INTEGER),
  685. CLUSPROP_SYNTAX_DISK_SIGNATURE = ( DWORD  )(CLUSPROP_TYPE_SIGNATURE << 16 | CLUSPROP_FORMAT_DWORD),
  686. CLUSPROP_SYNTAX_SCSI_ADDRESS = ( DWORD  )(CLUSPROP_TYPE_SCSI_ADDRESS << 16 | CLUSPROP_FORMAT_DWORD),
  687. CLUSPROP_SYNTAX_DISK_NUMBER = ( DWORD  )(CLUSPROP_TYPE_DISK_NUMBER << 16 | CLUSPROP_FORMAT_DWORD),
  688. CLUSPROP_SYNTAX_PARTITION_INFO = ( DWORD  )(CLUSPROP_TYPE_PARTITION_INFO << 16 | CLUSPROP_FORMAT_BINARY),
  689. CLUSPROP_SYNTAX_FTSET_INFO = ( DWORD  )(CLUSPROP_TYPE_FTSET_INFO << 16 | CLUSPROP_FORMAT_BINARY),
  690. CLUSPROP_SYNTAX_DISK_SERIALNUMBER = ( DWORD  )(CLUSPROP_TYPE_DISK_SERIALNUMBER << 16 | CLUSPROP_FORMAT_SZ)
  691.     }  ;
  692. typedef 
  693. enum CLUSTER_CONTROL_OBJECT
  694.     { CLUS_OBJECT_INVALID = 0,
  695. CLUS_OBJECT_RESOURCE = CLUS_OBJECT_INVALID + 1,
  696. CLUS_OBJECT_RESOURCE_TYPE = CLUS_OBJECT_RESOURCE + 1,
  697. CLUS_OBJECT_GROUP = CLUS_OBJECT_RESOURCE_TYPE + 1,
  698. CLUS_OBJECT_NODE = CLUS_OBJECT_GROUP + 1,
  699. CLUS_OBJECT_NETWORK = CLUS_OBJECT_NODE + 1,
  700. CLUS_OBJECT_NETINTERFACE = CLUS_OBJECT_NETWORK + 1,
  701. CLUS_OBJECT_CLUSTER = CLUS_OBJECT_NETINTERFACE + 1,
  702. CLUS_OBJECT_USER = 128
  703.     }  CLUSTER_CONTROL_OBJECT;
  704. typedef 
  705. enum CLCTL_CODES
  706.     { CLCTL_UNKNOWN = 0 << 0 | 0 + 0 << 2 | 0 << 22,
  707. CLCTL_GET_CHARACTERISTICS = 0x1 << 0 | 0 + 1 << 2 | 0 << 22,
  708. CLCTL_GET_FLAGS = 0x1 << 0 | 0 + 2 << 2 | 0 << 22,
  709. CLCTL_GET_CLASS_INFO = 0x1 << 0 | 0 + 3 << 2 | 0 << 22,
  710. CLCTL_GET_REQUIRED_DEPENDENCIES = 0x1 << 0 | 0 + 4 << 2 | 0 << 22,
  711. CLCTL_GET_NAME = 0x1 << 0 | 0 + 10 << 2 | 0 << 22,
  712. CLCTL_GET_RESOURCE_TYPE = 0x1 << 0 | 0 + 11 << 2 | 0 << 22,
  713. CLCTL_GET_NODE = 0x1 << 0 | 0 + 12 << 2 | 0 << 22,
  714. CLCTL_GET_NETWORK = 0x1 << 0 | 0 + 13 << 2 | 0 << 22,
  715. CLCTL_GET_ID = 0x1 << 0 | 0 + 14 << 2 | 0 << 22,
  716. CLCTL_GET_FQDN = 0x1 << 0 | 0 + 15 << 2 | 0 << 22,
  717. CLCTL_ENUM_COMMON_PROPERTIES = 0x1 << 0 | 0 + 20 << 2 | 0 << 22,
  718. CLCTL_GET_RO_COMMON_PROPERTIES = 0x1 << 0 | 0 + 21 << 2 | 0 << 22,
  719. CLCTL_GET_COMMON_PROPERTIES = 0x1 << 0 | 0 + 22 << 2 | 0 << 22,
  720. CLCTL_SET_COMMON_PROPERTIES = 0x2 << 0 | 0 + 23 << 2 | 0x1 << 22,
  721. CLCTL_VALIDATE_COMMON_PROPERTIES = 0x1 << 0 | 0 + 24 << 2 | 0 << 22,
  722. CLCTL_GET_COMMON_PROPERTY_FMTS = 0x1 << 0 | 0 + 25 << 2 | 0 << 22,
  723. CLCTL_GET_COMMON_RESOURCE_PROPERTY_FMTS = 0x1 << 0 | 0 + 26 << 2 | 0 << 22,
  724. CLCTL_ENUM_PRIVATE_PROPERTIES = 0x1 << 0 | 0 + 30 << 2 | 0 << 22,
  725. CLCTL_GET_RO_PRIVATE_PROPERTIES = 0x1 << 0 | 0 + 31 << 2 | 0 << 22,
  726. CLCTL_GET_PRIVATE_PROPERTIES = 0x1 << 0 | 0 + 32 << 2 | 0 << 22,
  727. CLCTL_SET_PRIVATE_PROPERTIES = 0x2 << 0 | 0 + 33 << 2 | 0x1 << 22,
  728. CLCTL_VALIDATE_PRIVATE_PROPERTIES = 0x1 << 0 | 0 + 34 << 2 | 0 << 22,
  729. CLCTL_GET_PRIVATE_PROPERTY_FMTS = 0x1 << 0 | 0 + 35 << 2 | 0 << 22,
  730. CLCTL_GET_PRIVATE_RESOURCE_PROPERTY_FMTS = 0x1 << 0 | 0 + 36 << 2 | 0 << 22,
  731. CLCTL_ADD_REGISTRY_CHECKPOINT = 0x2 << 0 | 0 + 40 << 2 | 0x1 << 22,
  732. CLCTL_DELETE_REGISTRY_CHECKPOINT = 0x2 << 0 | 0 + 41 << 2 | 0x1 << 22,
  733. CLCTL_GET_REGISTRY_CHECKPOINTS = 0x1 << 0 | 0 + 42 << 2 | 0 << 22,
  734. CLCTL_ADD_CRYPTO_CHECKPOINT = 0x2 << 0 | 0 + 43 << 2 | 0x1 << 22,
  735. CLCTL_DELETE_CRYPTO_CHECKPOINT = 0x2 << 0 | 0 + 44 << 2 | 0x1 << 22,
  736. CLCTL_GET_CRYPTO_CHECKPOINTS = 0x1 << 0 | 0 + 45 << 2 | 0 << 22,
  737. CLCTL_RESOURCE_UPGRADE_DLL = 0x2 << 0 | 0 + 46 << 2 | 0x1 << 22,
  738. CLCTL_GET_LOADBAL_PROCESS_LIST = 0x1 << 0 | 0 + 50 << 2 | 0 << 22,
  739. CLCTL_GET_NETWORK_NAME = 0x1 << 0 | 0 + 90 << 2 | 0 << 22,
  740. CLCTL_STORAGE_GET_DISK_INFO = 0x1 << 0 | 0 + 100 << 2 | 0 << 22,
  741. CLCTL_STORAGE_GET_AVAILABLE_DISKS = 0x1 << 0 | 0 + 101 << 2 | 0 << 22,
  742. CLCTL_STORAGE_IS_PATH_VALID = 0x1 << 0 | 0 + 102 << 2 | 0 << 22,
  743. CLCTL_STORAGE_GET_ALL_AVAILABLE_DISKS = 0x1 << 0 | 0 + 103 << 2 | 0 << 22 | 1 << 23,
  744. CLCTL_QUERY_DELETE = 0x1 << 0 | 0 + 110 << 2 | 0 << 22,
  745. CLCTL_DELETE = 0x2 << 0 | 1 << 20 | 0 + 1 << 2 | 0x1 << 22,
  746. CLCTL_INSTALL_NODE = 0x2 << 0 | 1 << 20 | 0 + 2 << 2 | 0x1 << 22,
  747. CLCTL_EVICT_NODE = 0x2 << 0 | 1 << 20 | 0 + 3 << 2 | 0x1 << 22,
  748. CLCTL_ADD_DEPENDENCY = 0x2 << 0 | 1 << 20 | 0 + 4 << 2 | 0x1 << 22,
  749. CLCTL_REMOVE_DEPENDENCY = 0x2 << 0 | 1 << 20 | 0 + 5 << 2 | 0x1 << 22,
  750. CLCTL_ADD_OWNER = 0x2 << 0 | 1 << 20 | 0 + 6 << 2 | 0x1 << 22,
  751. CLCTL_REMOVE_OWNER = 0x2 << 0 | 1 << 20 | 0 + 7 << 2 | 0x1 << 22,
  752. CLCTL_SET_NAME = 0x2 << 0 | 1 << 20 | 0 + 9 << 2 | 0x1 << 22,
  753. CLCTL_CLUSTER_NAME_CHANGED = 0x2 << 0 | 1 << 20 | 0 + 10 << 2 | 0x1 << 22,
  754. CLCTL_CLUSTER_VERSION_CHANGED = 0x2 << 0 | 1 << 20 | 0 + 11 << 2 | 0x1 << 22,
  755. CLCTL_FIXUP_ON_UPGRADE = 0x2 << 0 | 1 << 20 | 0 + 12 << 2 | 0x1 << 22,
  756. CLCTL_STARTING_PHASE1 = 0x2 << 0 | 1 << 20 | 0 + 13 << 2 | 0x1 << 22,
  757. CLCTL_STARTING_PHASE2 = 0x2 << 0 | 1 << 20 | 0 + 14 << 2 | 0x1 << 22,
  758. CLCTL_HOLD_IO = 0x2 << 0 | 1 << 20 | 0 + 15 << 2 | 0x1 << 22,
  759. CLCTL_RESUME_IO = 0x2 << 0 | 1 << 20 | 0 + 16 << 2 | 0x1 << 22,
  760. CLCTL_FORCE_QUORUM = 0x2 << 0 | 1 << 20 | 0 + 17 << 2 | 0x1 << 22
  761.     }  CLCTL_CODES;
  762. typedef 
  763. enum CLUSCTL_RESOURCE_CODES
  764.     { CLUSCTL_RESOURCE_UNKNOWN = CLUS_OBJECT_RESOURCE << 24 | CLCTL_UNKNOWN,
  765. CLUSCTL_RESOURCE_GET_CHARACTERISTICS = CLUS_OBJECT_RESOURCE << 24 | CLCTL_GET_CHARACTERISTICS,
  766. CLUSCTL_RESOURCE_GET_FLAGS = CLUS_OBJECT_RESOURCE << 24 | CLCTL_GET_FLAGS,
  767. CLUSCTL_RESOURCE_GET_CLASS_INFO = CLUS_OBJECT_RESOURCE << 24 | CLCTL_GET_CLASS_INFO,
  768. CLUSCTL_RESOURCE_GET_REQUIRED_DEPENDENCIES = CLUS_OBJECT_RESOURCE << 24 | CLCTL_GET_REQUIRED_DEPENDENCIES,
  769. CLUSCTL_RESOURCE_GET_NAME = CLUS_OBJECT_RESOURCE << 24 | CLCTL_GET_NAME,
  770. CLUSCTL_RESOURCE_GET_ID = CLUS_OBJECT_RESOURCE << 24 | CLCTL_GET_ID,
  771. CLUSCTL_RESOURCE_GET_RESOURCE_TYPE = CLUS_OBJECT_RESOURCE << 24 | CLCTL_GET_RESOURCE_TYPE,
  772. CLUSCTL_RESOURCE_ENUM_COMMON_PROPERTIES = CLUS_OBJECT_RESOURCE << 24 | CLCTL_ENUM_COMMON_PROPERTIES,
  773. CLUSCTL_RESOURCE_GET_RO_COMMON_PROPERTIES = CLUS_OBJECT_RESOURCE << 24 | CLCTL_GET_RO_COMMON_PROPERTIES,
  774. CLUSCTL_RESOURCE_GET_COMMON_PROPERTIES = CLUS_OBJECT_RESOURCE << 24 | CLCTL_GET_COMMON_PROPERTIES,
  775. CLUSCTL_RESOURCE_SET_COMMON_PROPERTIES = CLUS_OBJECT_RESOURCE << 24 | CLCTL_SET_COMMON_PROPERTIES,
  776. CLUSCTL_RESOURCE_VALIDATE_COMMON_PROPERTIES = CLUS_OBJECT_RESOURCE << 24 | CLCTL_VALIDATE_COMMON_PROPERTIES,
  777. CLUSCTL_RESOURCE_GET_COMMON_PROPERTY_FMTS = CLUS_OBJECT_RESOURCE << 24 | CLCTL_GET_COMMON_PROPERTY_FMTS,
  778. CLUSCTL_RESOURCE_ENUM_PRIVATE_PROPERTIES = CLUS_OBJECT_RESOURCE << 24 | CLCTL_ENUM_PRIVATE_PROPERTIES,
  779. CLUSCTL_RESOURCE_GET_RO_PRIVATE_PROPERTIES = CLUS_OBJECT_RESOURCE << 24 | CLCTL_GET_RO_PRIVATE_PROPERTIES,
  780. CLUSCTL_RESOURCE_GET_PRIVATE_PROPERTIES = CLUS_OBJECT_RESOURCE << 24 | CLCTL_GET_PRIVATE_PROPERTIES,
  781. CLUSCTL_RESOURCE_SET_PRIVATE_PROPERTIES = CLUS_OBJECT_RESOURCE << 24 | CLCTL_SET_PRIVATE_PROPERTIES,
  782. CLUSCTL_RESOURCE_VALIDATE_PRIVATE_PROPERTIES = CLUS_OBJECT_RESOURCE << 24 | CLCTL_VALIDATE_PRIVATE_PROPERTIES,
  783. CLUSCTL_RESOURCE_GET_PRIVATE_PROPERTY_FMTS = CLUS_OBJECT_RESOURCE << 24 | CLCTL_GET_PRIVATE_PROPERTY_FMTS,
  784. CLUSCTL_RESOURCE_ADD_REGISTRY_CHECKPOINT = CLUS_OBJECT_RESOURCE << 24 | CLCTL_ADD_REGISTRY_CHECKPOINT,
  785. CLUSCTL_RESOURCE_DELETE_REGISTRY_CHECKPOINT = CLUS_OBJECT_RESOURCE << 24 | CLCTL_DELETE_REGISTRY_CHECKPOINT,
  786. CLUSCTL_RESOURCE_GET_REGISTRY_CHECKPOINTS = CLUS_OBJECT_RESOURCE << 24 | CLCTL_GET_REGISTRY_CHECKPOINTS,
  787. CLUSCTL_RESOURCE_ADD_CRYPTO_CHECKPOINT = CLUS_OBJECT_RESOURCE << 24 | CLCTL_ADD_CRYPTO_CHECKPOINT,
  788. CLUSCTL_RESOURCE_DELETE_CRYPTO_CHECKPOINT = CLUS_OBJECT_RESOURCE << 24 | CLCTL_DELETE_CRYPTO_CHECKPOINT,
  789. CLUSCTL_RESOURCE_GET_CRYPTO_CHECKPOINTS = CLUS_OBJECT_RESOURCE << 24 | CLCTL_GET_CRYPTO_CHECKPOINTS,
  790. CLUSCTL_RESOURCE_GET_LOADBAL_PROCESS_LIST = CLUS_OBJECT_RESOURCE << 24 | CLCTL_GET_LOADBAL_PROCESS_LIST,
  791. CLUSCTL_RESOURCE_GET_NETWORK_NAME = CLUS_OBJECT_RESOURCE << 24 | CLCTL_GET_NETWORK_NAME,
  792. CLUSCTL_RESOURCE_STORAGE_GET_DISK_INFO = CLUS_OBJECT_RESOURCE << 24 | CLCTL_STORAGE_GET_DISK_INFO,
  793. CLUSCTL_RESOURCE_STORAGE_IS_PATH_VALID = CLUS_OBJECT_RESOURCE << 24 | CLCTL_STORAGE_IS_PATH_VALID,
  794. CLUSCTL_RESOURCE_QUERY_DELETE = CLUS_OBJECT_RESOURCE << 24 | CLCTL_QUERY_DELETE,
  795. CLUSCTL_RESOURCE_UPGRADE_DLL = CLUS_OBJECT_RESOURCE << 24 | CLCTL_RESOURCE_UPGRADE_DLL,
  796. CLUSCTL_RESOURCE_DELETE = CLUS_OBJECT_RESOURCE << 24 | CLCTL_DELETE,
  797. CLUSCTL_RESOURCE_INSTALL_NODE = CLUS_OBJECT_RESOURCE << 24 | CLCTL_INSTALL_NODE,
  798. CLUSCTL_RESOURCE_EVICT_NODE = CLUS_OBJECT_RESOURCE << 24 | CLCTL_EVICT_NODE,
  799. CLUSCTL_RESOURCE_ADD_DEPENDENCY = CLUS_OBJECT_RESOURCE << 24 | CLCTL_ADD_DEPENDENCY,
  800. CLUSCTL_RESOURCE_REMOVE_DEPENDENCY = CLUS_OBJECT_RESOURCE << 24 | CLCTL_REMOVE_DEPENDENCY,
  801. CLUSCTL_RESOURCE_ADD_OWNER = CLUS_OBJECT_RESOURCE << 24 | CLCTL_ADD_OWNER,
  802. CLUSCTL_RESOURCE_REMOVE_OWNER = CLUS_OBJECT_RESOURCE << 24 | CLCTL_REMOVE_OWNER,
  803. CLUSCTL_RESOURCE_SET_NAME = CLUS_OBJECT_RESOURCE << 24 | CLCTL_SET_NAME,
  804. CLUSCTL_RESOURCE_CLUSTER_NAME_CHANGED = CLUS_OBJECT_RESOURCE << 24 | CLCTL_CLUSTER_NAME_CHANGED,
  805. CLUSCTL_RESOURCE_CLUSTER_VERSION_CHANGED = CLUS_OBJECT_RESOURCE << 24 | CLCTL_CLUSTER_VERSION_CHANGED,
  806. CLUSCTL_RESOURCE_FORCE_QUORUM = CLUS_OBJECT_RESOURCE << 24 | CLCTL_FORCE_QUORUM
  807.     }  CLUSCTL_RESOURCE_CODES;
  808. typedef 
  809. enum CLUSCTL_RESOURCE_TYPE_CODES
  810.     { CLUSCTL_RESOURCE_TYPE_UNKNOWN = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_UNKNOWN,
  811. CLUSCTL_RESOURCE_TYPE_GET_CHARACTERISTICS = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_GET_CHARACTERISTICS,
  812. CLUSCTL_RESOURCE_TYPE_GET_FLAGS = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_GET_FLAGS,
  813. CLUSCTL_RESOURCE_TYPE_GET_CLASS_INFO = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_GET_CLASS_INFO,
  814. CLUSCTL_RESOURCE_TYPE_GET_REQUIRED_DEPENDENCIES = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_GET_REQUIRED_DEPENDENCIES,
  815. CLUSCTL_RESOURCE_TYPE_ENUM_COMMON_PROPERTIES = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_ENUM_COMMON_PROPERTIES,
  816. CLUSCTL_RESOURCE_TYPE_GET_RO_COMMON_PROPERTIES = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_GET_RO_COMMON_PROPERTIES,
  817. CLUSCTL_RESOURCE_TYPE_GET_COMMON_PROPERTIES = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_GET_COMMON_PROPERTIES,
  818. CLUSCTL_RESOURCE_TYPE_VALIDATE_COMMON_PROPERTIES = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_VALIDATE_COMMON_PROPERTIES,
  819. CLUSCTL_RESOURCE_TYPE_SET_COMMON_PROPERTIES = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_SET_COMMON_PROPERTIES,
  820. CLUSCTL_RESOURCE_TYPE_GET_COMMON_PROPERTY_FMTS = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_GET_COMMON_PROPERTY_FMTS,
  821. CLUSCTL_RESOURCE_TYPE_GET_COMMON_RESOURCE_PROPERTY_FMTS = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_GET_COMMON_RESOURCE_PROPERTY_FMTS,
  822. CLUSCTL_RESOURCE_TYPE_ENUM_PRIVATE_PROPERTIES = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_ENUM_PRIVATE_PROPERTIES,
  823. CLUSCTL_RESOURCE_TYPE_GET_RO_PRIVATE_PROPERTIES = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_GET_RO_PRIVATE_PROPERTIES,
  824. CLUSCTL_RESOURCE_TYPE_GET_PRIVATE_PROPERTIES = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_GET_PRIVATE_PROPERTIES,
  825. CLUSCTL_RESOURCE_TYPE_SET_PRIVATE_PROPERTIES = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_SET_PRIVATE_PROPERTIES,
  826. CLUSCTL_RESOURCE_TYPE_VALIDATE_PRIVATE_PROPERTIES = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_VALIDATE_PRIVATE_PROPERTIES,
  827. CLUSCTL_RESOURCE_TYPE_GET_PRIVATE_PROPERTY_FMTS = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_GET_PRIVATE_PROPERTY_FMTS,
  828. CLUSCTL_RESOURCE_TYPE_GET_PRIVATE_RESOURCE_PROPERTY_FMTS = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_GET_PRIVATE_RESOURCE_PROPERTY_FMTS,
  829. CLUSCTL_RESOURCE_TYPE_GET_REGISTRY_CHECKPOINTS = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_GET_REGISTRY_CHECKPOINTS,
  830. CLUSCTL_RESOURCE_TYPE_GET_CRYPTO_CHECKPOINTS = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_GET_CRYPTO_CHECKPOINTS,
  831. CLUSCTL_RESOURCE_TYPE_STORAGE_GET_AVAILABLE_DISKS = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_STORAGE_GET_AVAILABLE_DISKS,
  832. CLUSCTL_RESOURCE_TYPE_QUERY_DELETE = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_QUERY_DELETE,
  833. CLUSCTL_RESOURCE_TYPE_INSTALL_NODE = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_INSTALL_NODE,
  834. CLUSCTL_RESOURCE_TYPE_EVICT_NODE = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_EVICT_NODE,
  835. CLUSCTL_RESOURCE_TYPE_CLUSTER_VERSION_CHANGED = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_CLUSTER_VERSION_CHANGED,
  836. CLUSCTL_RESOURCE_TYPE_FIXUP_ON_UPGRADE = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_FIXUP_ON_UPGRADE,
  837. CLUSCTL_RESOURCE_TYPE_STARTING_PHASE1 = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_STARTING_PHASE1,
  838. CLUSCTL_RESOURCE_TYPE_STARTING_PHASE2 = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_STARTING_PHASE2,
  839. CLUSCTL_RESOURCE_TYPE_HOLD_IO = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_HOLD_IO,
  840. CLUSCTL_RESOURCE_TYPE_RESUME_IO = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_RESUME_IO
  841.     }  CLUSCTL_RESOURCE_TYPE_CODES;
  842. typedef 
  843. enum CLUSCTL_GROUP_CODES
  844.     { CLUSCTL_GROUP_UNKNOWN = CLUS_OBJECT_GROUP << 24 | CLCTL_UNKNOWN,
  845. CLUSCTL_GROUP_GET_CHARACTERISTICS = CLUS_OBJECT_GROUP << 24 | CLCTL_GET_CHARACTERISTICS,
  846. CLUSCTL_GROUP_GET_FLAGS = CLUS_OBJECT_GROUP << 24 | CLCTL_GET_FLAGS,
  847. CLUSCTL_GROUP_GET_NAME = CLUS_OBJECT_GROUP << 24 | CLCTL_GET_NAME,
  848. CLUSCTL_GROUP_GET_ID = CLUS_OBJECT_GROUP << 24 | CLCTL_GET_ID,
  849. CLUSCTL_GROUP_ENUM_COMMON_PROPERTIES = CLUS_OBJECT_GROUP << 24 | CLCTL_ENUM_COMMON_PROPERTIES,
  850. CLUSCTL_GROUP_GET_RO_COMMON_PROPERTIES = CLUS_OBJECT_GROUP << 24 | CLCTL_GET_RO_COMMON_PROPERTIES,
  851. CLUSCTL_GROUP_GET_COMMON_PROPERTIES = CLUS_OBJECT_GROUP << 24 | CLCTL_GET_COMMON_PROPERTIES,
  852. CLUSCTL_GROUP_SET_COMMON_PROPERTIES = CLUS_OBJECT_GROUP << 24 | CLCTL_SET_COMMON_PROPERTIES,
  853. CLUSCTL_GROUP_VALIDATE_COMMON_PROPERTIES = CLUS_OBJECT_GROUP << 24 | CLCTL_VALIDATE_COMMON_PROPERTIES,
  854. CLUSCTL_GROUP_ENUM_PRIVATE_PROPERTIES = CLUS_OBJECT_GROUP << 24 | CLCTL_ENUM_PRIVATE_PROPERTIES,
  855. CLUSCTL_GROUP_GET_RO_PRIVATE_PROPERTIES = CLUS_OBJECT_GROUP << 24 | CLCTL_GET_RO_PRIVATE_PROPERTIES,
  856. CLUSCTL_GROUP_GET_PRIVATE_PROPERTIES = CLUS_OBJECT_GROUP << 24 | CLCTL_GET_PRIVATE_PROPERTIES,
  857. CLUSCTL_GROUP_SET_PRIVATE_PROPERTIES = CLUS_OBJECT_GROUP << 24 | CLCTL_SET_PRIVATE_PROPERTIES,
  858. CLUSCTL_GROUP_VALIDATE_PRIVATE_PROPERTIES = CLUS_OBJECT_GROUP << 24 | CLCTL_VALIDATE_PRIVATE_PROPERTIES,
  859. CLUSCTL_GROUP_QUERY_DELETE = CLUS_OBJECT_GROUP << 24 | CLCTL_QUERY_DELETE,
  860. CLUSCTL_GROUP_GET_COMMON_PROPERTY_FMTS = CLUS_OBJECT_GROUP << 24 | CLCTL_GET_COMMON_PROPERTY_FMTS,
  861. CLUSCTL_GROUP_GET_PRIVATE_PROPERTY_FMTS = CLUS_OBJECT_GROUP << 24 | CLCTL_GET_PRIVATE_PROPERTY_FMTS
  862.     }  CLUSCTL_GROUP_CODES;
  863. typedef 
  864. enum CLUSCTL_NODE_CODES
  865.     { CLUSCTL_NODE_UNKNOWN = CLUS_OBJECT_NODE << 24 | CLCTL_UNKNOWN,
  866. CLUSCTL_NODE_GET_CHARACTERISTICS = CLUS_OBJECT_NODE << 24 | CLCTL_GET_CHARACTERISTICS,
  867. CLUSCTL_NODE_GET_FLAGS = CLUS_OBJECT_NODE << 24 | CLCTL_GET_FLAGS,
  868. CLUSCTL_NODE_GET_NAME = CLUS_OBJECT_NODE << 24 | CLCTL_GET_NAME,
  869. CLUSCTL_NODE_GET_ID = CLUS_OBJECT_NODE << 24 | CLCTL_GET_ID,
  870. CLUSCTL_NODE_ENUM_COMMON_PROPERTIES = CLUS_OBJECT_NODE << 24 | CLCTL_ENUM_COMMON_PROPERTIES,
  871. CLUSCTL_NODE_GET_RO_COMMON_PROPERTIES = CLUS_OBJECT_NODE << 24 | CLCTL_GET_RO_COMMON_PROPERTIES,
  872. CLUSCTL_NODE_GET_COMMON_PROPERTIES = CLUS_OBJECT_NODE << 24 | CLCTL_GET_COMMON_PROPERTIES,
  873. CLUSCTL_NODE_SET_COMMON_PROPERTIES = CLUS_OBJECT_NODE << 24 | CLCTL_SET_COMMON_PROPERTIES,
  874. CLUSCTL_NODE_VALIDATE_COMMON_PROPERTIES = CLUS_OBJECT_NODE << 24 | CLCTL_VALIDATE_COMMON_PROPERTIES,
  875. CLUSCTL_NODE_ENUM_PRIVATE_PROPERTIES = CLUS_OBJECT_NODE << 24 | CLCTL_ENUM_PRIVATE_PROPERTIES,
  876. CLUSCTL_NODE_GET_RO_PRIVATE_PROPERTIES = CLUS_OBJECT_NODE << 24 | CLCTL_GET_RO_PRIVATE_PROPERTIES,
  877. CLUSCTL_NODE_GET_PRIVATE_PROPERTIES = CLUS_OBJECT_NODE << 24 | CLCTL_GET_PRIVATE_PROPERTIES,
  878. CLUSCTL_NODE_SET_PRIVATE_PROPERTIES = CLUS_OBJECT_NODE << 24 | CLCTL_SET_PRIVATE_PROPERTIES,
  879. CLUSCTL_NODE_VALIDATE_PRIVATE_PROPERTIES = CLUS_OBJECT_NODE << 24 | CLCTL_VALIDATE_PRIVATE_PROPERTIES,
  880. CLUSCTL_NODE_GET_COMMON_PROPERTY_FMTS = CLUS_OBJECT_NODE << 24 | CLCTL_GET_COMMON_PROPERTY_FMTS,
  881. CLUSCTL_NODE_GET_PRIVATE_PROPERTY_FMTS = CLUS_OBJECT_NODE << 24 | CLCTL_GET_PRIVATE_PROPERTY_FMTS
  882.     }  CLUSCTL_NODE_CODES;
  883. typedef 
  884. enum CLUSCTL_NETWORK_CODES
  885.     { CLUSCTL_NETWORK_UNKNOWN = CLUS_OBJECT_NETWORK << 24 | CLCTL_UNKNOWN,
  886. CLUSCTL_NETWORK_GET_CHARACTERISTICS = CLUS_OBJECT_NETWORK << 24 | CLCTL_GET_CHARACTERISTICS,
  887. CLUSCTL_NETWORK_GET_FLAGS = CLUS_OBJECT_NETWORK << 24 | CLCTL_GET_FLAGS,
  888. CLUSCTL_NETWORK_GET_NAME = CLUS_OBJECT_NETWORK << 24 | CLCTL_GET_NAME,
  889. CLUSCTL_NETWORK_GET_ID = CLUS_OBJECT_NETWORK << 24 | CLCTL_GET_ID,
  890. CLUSCTL_NETWORK_ENUM_COMMON_PROPERTIES = CLUS_OBJECT_NETWORK << 24 | CLCTL_ENUM_COMMON_PROPERTIES,
  891. CLUSCTL_NETWORK_GET_RO_COMMON_PROPERTIES = CLUS_OBJECT_NETWORK << 24 | CLCTL_GET_RO_COMMON_PROPERTIES,
  892. CLUSCTL_NETWORK_GET_COMMON_PROPERTIES = CLUS_OBJECT_NETWORK << 24 | CLCTL_GET_COMMON_PROPERTIES,
  893. CLUSCTL_NETWORK_SET_COMMON_PROPERTIES = CLUS_OBJECT_NETWORK << 24 | CLCTL_SET_COMMON_PROPERTIES,
  894. CLUSCTL_NETWORK_VALIDATE_COMMON_PROPERTIES = CLUS_OBJECT_NETWORK << 24 | CLCTL_VALIDATE_COMMON_PROPERTIES,
  895. CLUSCTL_NETWORK_ENUM_PRIVATE_PROPERTIES = CLUS_OBJECT_NETWORK << 24 | CLCTL_ENUM_PRIVATE_PROPERTIES,
  896. CLUSCTL_NETWORK_GET_RO_PRIVATE_PROPERTIES = CLUS_OBJECT_NETWORK << 24 | CLCTL_GET_RO_PRIVATE_PROPERTIES,
  897. CLUSCTL_NETWORK_GET_PRIVATE_PROPERTIES = CLUS_OBJECT_NETWORK << 24 | CLCTL_GET_PRIVATE_PROPERTIES,
  898. CLUSCTL_NETWORK_SET_PRIVATE_PROPERTIES = CLUS_OBJECT_NETWORK << 24 | CLCTL_SET_PRIVATE_PROPERTIES,
  899. CLUSCTL_NETWORK_VALIDATE_PRIVATE_PROPERTIES = CLUS_OBJECT_NETWORK << 24 | CLCTL_VALIDATE_PRIVATE_PROPERTIES,
  900. CLUSCTL_NETWORK_GET_COMMON_PROPERTY_FMTS = CLUS_OBJECT_NETWORK << 24 | CLCTL_GET_COMMON_PROPERTY_FMTS,
  901. CLUSCTL_NETWORK_GET_PRIVATE_PROPERTY_FMTS = CLUS_OBJECT_NETWORK << 24 | CLCTL_GET_PRIVATE_PROPERTY_FMTS
  902.     }  CLUSCTL_NETWORK_CODES;
  903. typedef 
  904. enum CLUSCTL_NETINTERFACE_CODES
  905.     { CLUSCTL_NETINTERFACE_UNKNOWN = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_UNKNOWN,
  906. CLUSCTL_NETINTERFACE_GET_CHARACTERISTICS = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_GET_CHARACTERISTICS,
  907. CLUSCTL_NETINTERFACE_GET_FLAGS = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_GET_FLAGS,
  908. CLUSCTL_NETINTERFACE_GET_NAME = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_GET_NAME,
  909. CLUSCTL_NETINTERFACE_GET_ID = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_GET_ID,
  910. CLUSCTL_NETINTERFACE_GET_NODE = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_GET_NODE,
  911. CLUSCTL_NETINTERFACE_GET_NETWORK = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_GET_NETWORK,
  912. CLUSCTL_NETINTERFACE_ENUM_COMMON_PROPERTIES = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_ENUM_COMMON_PROPERTIES,
  913. CLUSCTL_NETINTERFACE_GET_RO_COMMON_PROPERTIES = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_GET_RO_COMMON_PROPERTIES,
  914. CLUSCTL_NETINTERFACE_GET_COMMON_PROPERTIES = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_GET_COMMON_PROPERTIES,
  915. CLUSCTL_NETINTERFACE_SET_COMMON_PROPERTIES = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_SET_COMMON_PROPERTIES,
  916. CLUSCTL_NETINTERFACE_VALIDATE_COMMON_PROPERTIES = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_VALIDATE_COMMON_PROPERTIES,
  917. CLUSCTL_NETINTERFACE_ENUM_PRIVATE_PROPERTIES = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_ENUM_PRIVATE_PROPERTIES,
  918. CLUSCTL_NETINTERFACE_GET_RO_PRIVATE_PROPERTIES = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_GET_RO_PRIVATE_PROPERTIES,
  919. CLUSCTL_NETINTERFACE_GET_PRIVATE_PROPERTIES = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_GET_PRIVATE_PROPERTIES,
  920. CLUSCTL_NETINTERFACE_SET_PRIVATE_PROPERTIES = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_SET_PRIVATE_PROPERTIES,
  921. CLUSCTL_NETINTERFACE_VALIDATE_PRIVATE_PROPERTIES = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_VALIDATE_PRIVATE_PROPERTIES,
  922. CLUSCTL_NETINTERFACE_GET_COMMON_PROPERTY_FMTS = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_GET_COMMON_PROPERTY_FMTS,
  923. CLUSCTL_NETINTERFACE_GET_PRIVATE_PROPERTY_FMTS = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_GET_PRIVATE_PROPERTY_FMTS
  924.     }  CLUSCTL_NETINTERFACE_CODES;
  925. typedef 
  926. enum CLUSCTL_CLUSTER_CODES
  927.     { CLUSCTL_CLUSTER_UNKNOWN = CLUS_OBJECT_CLUSTER << 24 | CLCTL_UNKNOWN,
  928. CLUSCTL_CLUSTER_GET_FQDN = CLUS_OBJECT_CLUSTER << 24 | CLCTL_GET_FQDN,
  929. CLUSCTL_CLUSTER_ENUM_COMMON_PROPERTIES = CLUS_OBJECT_CLUSTER << 24 | CLCTL_ENUM_COMMON_PROPERTIES,
  930. CLUSCTL_CLUSTER_GET_RO_COMMON_PROPERTIES = CLUS_OBJECT_CLUSTER << 24 | CLCTL_GET_RO_COMMON_PROPERTIES,
  931. CLUSCTL_CLUSTER_GET_COMMON_PROPERTIES = CLUS_OBJECT_CLUSTER << 24 | CLCTL_GET_COMMON_PROPERTIES,
  932. CLUSCTL_CLUSTER_SET_COMMON_PROPERTIES = CLUS_OBJECT_CLUSTER << 24 | CLCTL_SET_COMMON_PROPERTIES,
  933. CLUSCTL_CLUSTER_VALIDATE_COMMON_PROPERTIES = CLUS_OBJECT_CLUSTER << 24 | CLCTL_VALIDATE_COMMON_PROPERTIES,
  934. CLUSCTL_CLUSTER_ENUM_PRIVATE_PROPERTIES = CLUS_OBJECT_CLUSTER << 24 | CLCTL_ENUM_PRIVATE_PROPERTIES,
  935. CLUSCTL_CLUSTER_GET_RO_PRIVATE_PROPERTIES = CLUS_OBJECT_CLUSTER << 24 | CLCTL_GET_RO_PRIVATE_PROPERTIES,
  936. CLUSCTL_CLUSTER_GET_PRIVATE_PROPERTIES = CLUS_OBJECT_CLUSTER << 24 | CLCTL_GET_PRIVATE_PROPERTIES,
  937. CLUSCTL_CLUSTER_SET_PRIVATE_PROPERTIES = CLUS_OBJECT_CLUSTER << 24 | CLCTL_SET_PRIVATE_PROPERTIES,
  938. CLUSCTL_CLUSTER_VALIDATE_PRIVATE_PROPERTIES = CLUS_OBJECT_CLUSTER << 24 | CLCTL_VALIDATE_PRIVATE_PROPERTIES,
  939. CLUSCTL_CLUSTER_GET_COMMON_PROPERTY_FMTS = CLUS_OBJECT_CLUSTER << 24 | CLCTL_GET_COMMON_PROPERTY_FMTS,
  940. CLUSCTL_CLUSTER_GET_PRIVATE_PROPERTY_FMTS = CLUS_OBJECT_CLUSTER << 24 | CLCTL_GET_PRIVATE_PROPERTY_FMTS
  941.     }  CLUSCTL_CLUSTER_CODES;
  942. typedef 
  943. enum CLUSTER_RESOURCE_CLASS
  944.     { CLUS_RESCLASS_UNKNOWN = 0,
  945. CLUS_RESCLASS_STORAGE = CLUS_RESCLASS_UNKNOWN + 1,
  946. CLUS_RESCLASS_USER = 32768
  947.     }  CLUSTER_RESOURCE_CLASS;
  948. typedef 
  949. enum CLUS_RESSUBCLASS
  950.     { CLUS_RESSUBCLASS_SHARED = 0x80000000
  951.     }  CLUS_RESSUBCLASS;
  952. typedef 
  953. enum CLUS_CHARACTERISTICS
  954.     { CLUS_CHAR_UNKNOWN = 0,
  955. CLUS_CHAR_QUORUM = 0x1,
  956. CLUS_CHAR_DELETE_REQUIRES_ALL_NODES = 0x2,
  957. CLUS_CHAR_LOCAL_QUORUM = 0x4,
  958. CLUS_CHAR_LOCAL_QUORUM_DEBUG = 0x8
  959.     }  CLUS_CHARACTERISTICS;
  960. typedef 
  961. enum CLUS_FLAGS
  962.     { CLUS_FLAG_CORE = 0x1
  963.     }  CLUS_FLAGS;
  964. typedef 
  965. enum CLUSPROP_PIFLAGS
  966.     { CLUSPROP_PIFLAG_STICKY = 0x1,
  967. CLUSPROP_PIFLAG_REMOVABLE = 0x2,
  968. CLUSPROP_PIFLAG_USABLE = 0x4,
  969. CLUSPROP_PIFLAG_DEFAULT_QUORUM = 0x8
  970.     }  CLUSPROP_PIFLAGS;
  971. typedef 
  972. enum CLUSTER_RESOURCE_ENUM
  973.     { CLUSTER_RESOURCE_ENUM_DEPENDS = 0x1,
  974. CLUSTER_RESOURCE_ENUM_PROVIDES = 0x2,
  975. CLUSTER_RESOURCE_ENUM_NODES = 0x4,
  976. CLUSTER_RESOURCE_ENUM_ALL = CLUSTER_RESOURCE_ENUM_DEPENDS | CLUSTER_RESOURCE_ENUM_PROVIDES | CLUSTER_RESOURCE_ENUM_NODES
  977.     }  CLUSTER_RESOURCE_ENUM;
  978. typedef 
  979. enum CLUSTER_RESOURCE_TYPE_ENUM
  980.     { CLUSTER_RESOURCE_TYPE_ENUM_NODES = 0x1,
  981. CLUSTER_RESOURCE_TYPE_ENUM_ALL = CLUSTER_RESOURCE_TYPE_ENUM_NODES
  982.     }  CLUSTER_RESOURCE_TYPE_ENUM;
  983. typedef 
  984. enum CLUSTER_NETWORK_ENUM
  985.     { CLUSTER_NETWORK_ENUM_NETINTERFACES = 0x1,
  986. CLUSTER_NETWORK_ENUM_ALL = CLUSTER_NETWORK_ENUM_NETINTERFACES
  987.     }  CLUSTER_NETWORK_ENUM;
  988. typedef 
  989. enum CLUSTER_NETWORK_STATE
  990.     { ClusterNetworkStateUnknown = -1,
  991. ClusterNetworkUnavailable = ClusterNetworkStateUnknown + 1,
  992. ClusterNetworkDown = ClusterNetworkUnavailable + 1,
  993. ClusterNetworkPartitioned = ClusterNetworkDown + 1,
  994. ClusterNetworkUp = ClusterNetworkPartitioned + 1
  995.     }  CLUSTER_NETWORK_STATE;
  996. typedef 
  997. enum CLUSTER_NETWORK_ROLE
  998.     { ClusterNetworkRoleNone = 0,
  999. ClusterNetworkRoleInternalUse = 0x1,
  1000. ClusterNetworkRoleClientAccess = 0x2,
  1001. ClusterNetworkRoleInternalAndClient = 0x3
  1002.     }  CLUSTER_NETWORK_ROLE;
  1003. typedef 
  1004. enum CLUSTER_NETINTERFACE_STATE
  1005.     { ClusterNetInterfaceStateUnknown = -1,
  1006. ClusterNetInterfaceUnavailable = ClusterNetInterfaceStateUnknown + 1,
  1007. ClusterNetInterfaceFailed = ClusterNetInterfaceUnavailable + 1,
  1008. ClusterNetInterfaceUnreachable = ClusterNetInterfaceFailed + 1,
  1009. ClusterNetInterfaceUp = ClusterNetInterfaceUnreachable + 1
  1010.     }  CLUSTER_NETINTERFACE_STATE;
  1011. #endif // _CLUSTER_API_TYPES_
  1012. extern RPC_IF_HANDLE __MIDL_itf_msclus_0000_v0_0_c_ifspec;
  1013. extern RPC_IF_HANDLE __MIDL_itf_msclus_0000_v0_0_s_ifspec;
  1014. #ifndef __MSClusterLib_LIBRARY_DEFINED__
  1015. #define __MSClusterLib_LIBRARY_DEFINED__
  1016. /* library MSClusterLib */
  1017. /* [helpstring][version][uuid] */ 
  1018. EXTERN_C const IID LIBID_MSClusterLib;
  1019. EXTERN_C const CLSID CLSID_ClusApplication;
  1020. #ifdef __cplusplus
  1021. class DECLSPEC_UUID("f2e606e5-2631-11d1-89f1-00a0c90d061e")
  1022. ClusApplication;
  1023. #endif
  1024. EXTERN_C const CLSID CLSID_Cluster;
  1025. #ifdef __cplusplus
  1026. class DECLSPEC_UUID("f2e606e3-2631-11d1-89f1-00a0c90d061e")
  1027. Cluster;
  1028. #endif
  1029. EXTERN_C const CLSID CLSID_ClusVersion;
  1030. #ifdef __cplusplus
  1031. class DECLSPEC_UUID("f2e60715-2631-11d1-89f1-00a0c90d061e")
  1032. ClusVersion;
  1033. #endif
  1034. EXTERN_C const CLSID CLSID_ClusResType;
  1035. #ifdef __cplusplus
  1036. class DECLSPEC_UUID("f2e6070f-2631-11d1-89f1-00a0c90d061e")
  1037. ClusResType;
  1038. #endif
  1039. EXTERN_C const CLSID CLSID_ClusProperty;
  1040. #ifdef __cplusplus
  1041. class DECLSPEC_UUID("f2e606fd-2631-11d1-89f1-00a0c90d061e")
  1042. ClusProperty;
  1043. #endif
  1044. EXTERN_C const CLSID CLSID_ClusProperties;
  1045. #ifdef __cplusplus
  1046. class DECLSPEC_UUID("f2e606ff-2631-11d1-89f1-00a0c90d061e")
  1047. ClusProperties;
  1048. #endif
  1049. EXTERN_C const CLSID CLSID_DomainNames;
  1050. #ifdef __cplusplus
  1051. class DECLSPEC_UUID("f2e606e1-2631-11d1-89f1-00a0c90d061e")
  1052. DomainNames;
  1053. #endif
  1054. EXTERN_C const CLSID CLSID_ClusNetwork;
  1055. #ifdef __cplusplus
  1056. class DECLSPEC_UUID("f2e606f1-2631-11d1-89f1-00a0c90d061e")
  1057. ClusNetwork;
  1058. #endif
  1059. EXTERN_C const CLSID CLSID_ClusNetInterface;
  1060. #ifdef __cplusplus
  1061. class DECLSPEC_UUID("f2e606ed-2631-11d1-89f1-00a0c90d061e")
  1062. ClusNetInterface;
  1063. #endif
  1064. EXTERN_C const CLSID CLSID_ClusNetInterfaces;
  1065. #ifdef __cplusplus
  1066. class DECLSPEC_UUID("f2e606ef-2631-11d1-89f1-00a0c90d061e")
  1067. ClusNetInterfaces;
  1068. #endif
  1069. EXTERN_C const CLSID CLSID_ClusResDependencies;
  1070. #ifdef __cplusplus
  1071. class DECLSPEC_UUID("f2e60703-2631-11d1-89f1-00a0c90d061e")
  1072. ClusResDependencies;
  1073. #endif
  1074. EXTERN_C const CLSID CLSID_ClusResGroupResources;
  1075. #ifdef __cplusplus
  1076. class DECLSPEC_UUID("f2e606e9-2631-11d1-89f1-00a0c90d061e")
  1077. ClusResGroupResources;
  1078. #endif
  1079. EXTERN_C const CLSID CLSID_ClusResTypeResources;
  1080. #ifdef __cplusplus
  1081. class DECLSPEC_UUID("f2e60713-2631-11d1-89f1-00a0c90d061e")
  1082. ClusResTypeResources;
  1083. #endif
  1084. EXTERN_C const CLSID CLSID_ClusResGroupPreferredOwnerNodes;
  1085. #ifdef __cplusplus
  1086. class DECLSPEC_UUID("f2e606e7-2631-11d1-89f1-00a0c90d061e")
  1087. ClusResGroupPreferredOwnerNodes;
  1088. #endif
  1089. EXTERN_C const CLSID CLSID_ClusResPossibleOwnerNodes;
  1090. #ifdef __cplusplus
  1091. class DECLSPEC_UUID("f2e6070d-2631-11d1-89f1-00a0c90d061e")
  1092. ClusResPossibleOwnerNodes;
  1093. #endif
  1094. EXTERN_C const CLSID CLSID_ClusNetworks;
  1095. #ifdef __cplusplus
  1096. class DECLSPEC_UUID("f2e606f3-2631-11d1-89f1-00a0c90d061e")
  1097. ClusNetworks;
  1098. #endif
  1099. EXTERN_C const CLSID CLSID_ClusNetworkNetInterfaces;
  1100. #ifdef __cplusplus
  1101. class DECLSPEC_UUID("f2e606f5-2631-11d1-89f1-00a0c90d061e")
  1102. ClusNetworkNetInterfaces;
  1103. #endif
  1104. EXTERN_C const CLSID CLSID_ClusNodeNetInterfaces;
  1105. #ifdef __cplusplus
  1106. class DECLSPEC_UUID("f2e606fb-2631-11d1-89f1-00a0c90d061e")
  1107. ClusNodeNetInterfaces;
  1108. #endif
  1109. EXTERN_C const CLSID CLSID_ClusRefObject;
  1110. #ifdef __cplusplus
  1111. class DECLSPEC_UUID("f2e60701-2631-11d1-89f1-00a0c90d061e")
  1112. ClusRefObject;
  1113. #endif
  1114. EXTERN_C const CLSID CLSID_ClusterNames;
  1115. #ifdef __cplusplus
  1116. class DECLSPEC_UUID("f2e606eb-2631-11d1-89f1-00a0c90d061e")
  1117. ClusterNames;
  1118. #endif
  1119. EXTERN_C const CLSID CLSID_ClusNode;
  1120. #ifdef __cplusplus
  1121. class DECLSPEC_UUID("f2e606f7-2631-11d1-89f1-00a0c90d061e")
  1122. ClusNode;
  1123. #endif
  1124. EXTERN_C const CLSID CLSID_ClusNodes;
  1125. #ifdef __cplusplus
  1126. class DECLSPEC_UUID("f2e606f9-2631-11d1-89f1-00a0c90d061e")
  1127. ClusNodes;
  1128. #endif
  1129. EXTERN_C const CLSID CLSID_ClusResGroup;
  1130. #ifdef __cplusplus
  1131. class DECLSPEC_UUID("f2e60705-2631-11d1-89f1-00a0c90d061e")
  1132. ClusResGroup;
  1133. #endif
  1134. EXTERN_C const CLSID CLSID_ClusResGroups;
  1135. #ifdef __cplusplus
  1136. class DECLSPEC_UUID("f2e60707-2631-11d1-89f1-00a0c90d061e")
  1137. ClusResGroups;
  1138. #endif
  1139. EXTERN_C const CLSID CLSID_ClusResource;
  1140. #ifdef __cplusplus
  1141. class DECLSPEC_UUID("f2e60709-2631-11d1-89f1-00a0c90d061e")
  1142. ClusResource;
  1143. #endif
  1144. EXTERN_C const CLSID CLSID_ClusResources;
  1145. #ifdef __cplusplus
  1146. class DECLSPEC_UUID("f2e6070b-2631-11d1-89f1-00a0c90d061e")
  1147. ClusResources;
  1148. #endif
  1149. EXTERN_C const CLSID CLSID_ClusResTypes;
  1150. #ifdef __cplusplus
  1151. class DECLSPEC_UUID("f2e60711-2631-11d1-89f1-00a0c90d061e")
  1152. ClusResTypes;
  1153. #endif
  1154. EXTERN_C const CLSID CLSID_ClusResTypePossibleOwnerNodes;
  1155. #ifdef __cplusplus
  1156. class DECLSPEC_UUID("f2e60717-2631-11d1-89f1-00a0c90d061e")
  1157. ClusResTypePossibleOwnerNodes;
  1158. #endif
  1159. EXTERN_C const CLSID CLSID_ClusPropertyValue;
  1160. #ifdef __cplusplus
  1161. class DECLSPEC_UUID("f2e60719-2631-11d1-89f1-00a0c90d061e")
  1162. ClusPropertyValue;
  1163. #endif
  1164. EXTERN_C const CLSID CLSID_ClusPropertyValues;
  1165. #ifdef __cplusplus
  1166. class DECLSPEC_UUID("f2e6071b-2631-11d1-89f1-00a0c90d061e")
  1167. ClusPropertyValues;
  1168. #endif
  1169. EXTERN_C const CLSID CLSID_ClusPropertyValueData;
  1170. #ifdef __cplusplus
  1171. class DECLSPEC_UUID("f2e6071d-2631-11d1-89f1-00a0c90d061e")
  1172. ClusPropertyValueData;
  1173. #endif
  1174. EXTERN_C const CLSID CLSID_ClusPartition;
  1175. #ifdef __cplusplus
  1176. class DECLSPEC_UUID("f2e6071f-2631-11d1-89f1-00a0c90d061e")
  1177. ClusPartition;
  1178. #endif
  1179. EXTERN_C const CLSID CLSID_ClusPartitions;
  1180. #ifdef __cplusplus
  1181. class DECLSPEC_UUID("f2e60721-2631-11d1-89f1-00a0c90d061e")
  1182. ClusPartitions;
  1183. #endif
  1184. EXTERN_C const CLSID CLSID_ClusDisk;
  1185. #ifdef __cplusplus
  1186. class DECLSPEC_UUID("f2e60723-2631-11d1-89f1-00a0c90d061e")
  1187. ClusDisk;
  1188. #endif
  1189. EXTERN_C const CLSID CLSID_ClusDisks;
  1190. #ifdef __cplusplus
  1191. class DECLSPEC_UUID("f2e60725-2631-11d1-89f1-00a0c90d061e")
  1192. ClusDisks;
  1193. #endif
  1194. EXTERN_C const CLSID CLSID_ClusScsiAddress;
  1195. #ifdef __cplusplus
  1196. class DECLSPEC_UUID("f2e60727-2631-11d1-89f1-00a0c90d061e")
  1197. ClusScsiAddress;
  1198. #endif
  1199. EXTERN_C const CLSID CLSID_ClusRegistryKeys;
  1200. #ifdef __cplusplus
  1201. class DECLSPEC_UUID("f2e60729-2631-11d1-89f1-00a0c90d061e")
  1202. ClusRegistryKeys;
  1203. #endif
  1204. EXTERN_C const CLSID CLSID_ClusCryptoKeys;
  1205. #ifdef __cplusplus
  1206. class DECLSPEC_UUID("f2e6072b-2631-11d1-89f1-00a0c90d061e")
  1207. ClusCryptoKeys;
  1208. #endif
  1209. EXTERN_C const CLSID CLSID_ClusResDependents;
  1210. #ifdef __cplusplus
  1211. class DECLSPEC_UUID("f2e6072d-2631-11d1-89f1-00a0c90d061e")
  1212. ClusResDependents;
  1213. #endif
  1214. #endif /* __MSClusterLib_LIBRARY_DEFINED__ */
  1215. #ifndef __ISClusApplication_INTERFACE_DEFINED__
  1216. #define __ISClusApplication_INTERFACE_DEFINED__
  1217. /* interface ISClusApplication */
  1218. /* [unique][helpstring][dual][uuid][object][nonextensible][hidden][oleautomation] */ 
  1219. EXTERN_C const IID IID_ISClusApplication;
  1220. #if defined(__cplusplus) && !defined(CINTERFACE)
  1221.     
  1222.     MIDL_INTERFACE("f2e606e6-2631-11d1-89f1-00a0c90d061e")
  1223.     ISClusApplication : public IDispatch
  1224.     {
  1225.     public:
  1226.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DomainNames( 
  1227.             /* [retval][out] */ ISDomainNames **ppDomains) = 0;
  1228.         
  1229.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ClusterNames( 
  1230.             /* [in] */ BSTR bstrDomainName,
  1231.             /* [retval][out] */ ISClusterNames **ppClusters) = 0;
  1232.         
  1233.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OpenCluster( 
  1234.             /* [in] */ BSTR bstrClusterName,
  1235.             /* [retval][out] */ ISCluster **pCluster) = 0;
  1236.         
  1237.     };
  1238.     
  1239. #else  /* C style interface */
  1240.     typedef struct ISClusApplicationVtbl
  1241.     {
  1242.         BEGIN_INTERFACE
  1243.         
  1244.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1245.             ISClusApplication * This,
  1246.             /* [in] */ REFIID riid,
  1247.             /* [iid_is][out] */ void **ppvObject);
  1248.         
  1249.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1250.             ISClusApplication * This);
  1251.         
  1252.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1253.             ISClusApplication * This);
  1254.         
  1255.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1256.             ISClusApplication * This,
  1257.             /* [out] */ UINT *pctinfo);
  1258.         
  1259.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1260.             ISClusApplication * This,
  1261.             /* [in] */ UINT iTInfo,
  1262.             /* [in] */ LCID lcid,
  1263.             /* [out] */ ITypeInfo **ppTInfo);
  1264.         
  1265.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1266.             ISClusApplication * This,
  1267.             /* [in] */ REFIID riid,
  1268.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1269.             /* [in] */ UINT cNames,
  1270.             /* [in] */ LCID lcid,
  1271.             /* [size_is][out] */ DISPID *rgDispId);
  1272.         
  1273.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1274.             ISClusApplication * This,
  1275.             /* [in] */ DISPID dispIdMember,
  1276.             /* [in] */ REFIID riid,
  1277.             /* [in] */ LCID lcid,
  1278.             /* [in] */ WORD wFlags,
  1279.             /* [out][in] */ DISPPARAMS *pDispParams,
  1280.             /* [out] */ VARIANT *pVarResult,
  1281.             /* [out] */ EXCEPINFO *pExcepInfo,
  1282.             /* [out] */ UINT *puArgErr);
  1283.         
  1284.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DomainNames )( 
  1285.             ISClusApplication * This,
  1286.             /* [retval][out] */ ISDomainNames **ppDomains);
  1287.         
  1288.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClusterNames )( 
  1289.             ISClusApplication * This,
  1290.             /* [in] */ BSTR bstrDomainName,
  1291.             /* [retval][out] */ ISClusterNames **ppClusters);
  1292.         
  1293.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *OpenCluster )( 
  1294.             ISClusApplication * This,
  1295.             /* [in] */ BSTR bstrClusterName,
  1296.             /* [retval][out] */ ISCluster **pCluster);
  1297.         
  1298.         END_INTERFACE
  1299.     } ISClusApplicationVtbl;
  1300.     interface ISClusApplication
  1301.     {
  1302.         CONST_VTBL struct ISClusApplicationVtbl *lpVtbl;
  1303.     };
  1304.     
  1305. #ifdef COBJMACROS
  1306. #define ISClusApplication_QueryInterface(This,riid,ppvObject)
  1307.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1308. #define ISClusApplication_AddRef(This)
  1309.     (This)->lpVtbl -> AddRef(This)
  1310. #define ISClusApplication_Release(This)
  1311.     (This)->lpVtbl -> Release(This)
  1312. #define ISClusApplication_GetTypeInfoCount(This,pctinfo)
  1313.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1314. #define ISClusApplication_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1315.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1316. #define ISClusApplication_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1317.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1318. #define ISClusApplication_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1319.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1320. #define ISClusApplication_get_DomainNames(This,ppDomains)
  1321.     (This)->lpVtbl -> get_DomainNames(This,ppDomains)
  1322. #define ISClusApplication_get_ClusterNames(This,bstrDomainName,ppClusters)
  1323.     (This)->lpVtbl -> get_ClusterNames(This,bstrDomainName,ppClusters)
  1324. #define ISClusApplication_OpenCluster(This,bstrClusterName,pCluster)
  1325.     (This)->lpVtbl -> OpenCluster(This,bstrClusterName,pCluster)
  1326. #endif /* COBJMACROS */
  1327. #endif  /* C style interface */
  1328. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISClusApplication_get_DomainNames_Proxy( 
  1329.     ISClusApplication * This,
  1330.     /* [retval][out] */ ISDomainNames **ppDomains);
  1331. void __RPC_STUB ISClusApplication_get_DomainNames_Stub(
  1332.     IRpcStubBuffer *This,
  1333.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1334.     PRPC_MESSAGE _pRpcMessage,
  1335.     DWORD *_pdwStubPhase);
  1336. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISClusApplication_get_ClusterNames_Proxy( 
  1337.     ISClusApplication * This,
  1338.     /* [in] */ BSTR bstrDomainName,
  1339.     /* [retval][out] */ ISClusterNames **ppClusters);
  1340. void __RPC_STUB ISClusApplication_get_ClusterNames_Stub(
  1341.     IRpcStubBuffer *This,
  1342.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1343.     PRPC_MESSAGE _pRpcMessage,
  1344.     DWORD *_pdwStubPhase);
  1345. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISClusApplication_OpenCluster_Proxy( 
  1346.     ISClusApplication * This,
  1347.     /* [in] */ BSTR bstrClusterName,
  1348.     /* [retval][out] */ ISCluster **pCluster);
  1349. void __RPC_STUB ISClusApplication_OpenCluster_Stub(
  1350.     IRpcStubBuffer *This,
  1351.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1352.     PRPC_MESSAGE _pRpcMessage,
  1353.     DWORD *_pdwStubPhase);
  1354. #endif  /* __ISClusApplication_INTERFACE_DEFINED__ */
  1355. #ifndef __ISDomainNames_INTERFACE_DEFINED__
  1356. #define __ISDomainNames_INTERFACE_DEFINED__
  1357. /* interface ISDomainNames */
  1358. /* [unique][helpstring][dual][uuid][object][nonextensible][hidden][oleautomation] */ 
  1359. EXTERN_C const IID IID_ISDomainNames;
  1360. #if defined(__cplusplus) && !defined(CINTERFACE)
  1361.     
  1362.     MIDL_INTERFACE("f2e606e2-2631-11d1-89f1-00a0c90d061e")
  1363.     ISDomainNames : public IDispatch
  1364.     {
  1365.     public:
  1366.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
  1367.             /* [retval][out] */ long *plCount) = 0;
  1368.         
  1369.         virtual /* [helpstring][id][restricted][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
  1370.             /* [retval][out] */ IUnknown **retval) = 0;
  1371.         
  1372.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Refresh( void) = 0;
  1373.         
  1374.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
  1375.             /* [in] */ VARIANT varIndex,
  1376.             /* [retval][out] */ BSTR *pbstrDomainName) = 0;
  1377.         
  1378.     };
  1379.     
  1380. #else  /* C style interface */
  1381.     typedef struct ISDomainNamesVtbl
  1382.     {
  1383.         BEGIN_INTERFACE
  1384.         
  1385.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1386.             ISDomainNames * This,
  1387.             /* [in] */ REFIID riid,
  1388.             /* [iid_is][out] */ void **ppvObject);
  1389.         
  1390.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1391.             ISDomainNames * This);
  1392.         
  1393.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1394.             ISDomainNames * This);
  1395.         
  1396.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1397.             ISDomainNames * This,
  1398.             /* [out] */ UINT *pctinfo);
  1399.         
  1400.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1401.             ISDomainNames * This,
  1402.             /* [in] */ UINT iTInfo,
  1403.             /* [in] */ LCID lcid,
  1404.             /* [out] */ ITypeInfo **ppTInfo);
  1405.         
  1406.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1407.             ISDomainNames * This,
  1408.             /* [in] */ REFIID riid,
  1409.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1410.             /* [in] */ UINT cNames,
  1411.             /* [in] */ LCID lcid,
  1412.             /* [size_is][out] */ DISPID *rgDispId);
  1413.         
  1414.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1415.             ISDomainNames * This,
  1416.             /* [in] */ DISPID dispIdMember,
  1417.             /* [in] */ REFIID riid,
  1418.             /* [in] */ LCID lcid,
  1419.             /* [in] */ WORD wFlags,
  1420.             /* [out][in] */ DISPPARAMS *pDispParams,
  1421.             /* [out] */ VARIANT *pVarResult,
  1422.             /* [out] */ EXCEPINFO *pExcepInfo,
  1423.             /* [out] */ UINT *puArgErr);
  1424.         
  1425.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
  1426.             ISDomainNames * This,
  1427.             /* [retval][out] */ long *plCount);
  1428.         
  1429.         /* [helpstring][id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
  1430.             ISDomainNames * This,
  1431.             /* [retval][out] */ IUnknown **retval);
  1432.         
  1433.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Refresh )( 
  1434.             ISDomainNames * This);
  1435.         
  1436.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
  1437.             ISDomainNames * This,
  1438.             /* [in] */ VARIANT varIndex,
  1439.             /* [retval][out] */ BSTR *pbstrDomainName);
  1440.         
  1441.         END_INTERFACE
  1442.     } ISDomainNamesVtbl;
  1443.     interface ISDomainNames
  1444.     {
  1445.         CONST_VTBL struct ISDomainNamesVtbl *lpVtbl;
  1446.     };
  1447.     
  1448. #ifdef COBJMACROS
  1449. #define ISDomainNames_QueryInterface(This,riid,ppvObject)
  1450.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1451. #define ISDomainNames_AddRef(This)
  1452.     (This)->lpVtbl -> AddRef(This)
  1453. #define ISDomainNames_Release(This)
  1454.     (This)->lpVtbl -> Release(This)
  1455. #define ISDomainNames_GetTypeInfoCount(This,pctinfo)
  1456.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1457. #define ISDomainNames_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1458.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1459. #define ISDomainNames_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1460.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1461. #define ISDomainNames_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1462.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1463. #define ISDomainNames_get_Count(This,plCount)
  1464.     (This)->lpVtbl -> get_Count(This,plCount)
  1465. #define ISDomainNames_get__NewEnum(This,retval)
  1466.     (This)->lpVtbl -> get__NewEnum(This,retval)
  1467. #define ISDomainNames_Refresh(This)
  1468.     (This)->lpVtbl -> Refresh(This)
  1469. #define ISDomainNames_get_Item(This,varIndex,pbstrDomainName)
  1470.     (This)->lpVtbl -> get_Item(This,varIndex,pbstrDomainName)
  1471. #endif /* COBJMACROS */
  1472. #endif  /* C style interface */
  1473. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISDomainNames_get_Count_Proxy( 
  1474.     ISDomainNames * This,
  1475.     /* [retval][out] */ long *plCount);
  1476. void __RPC_STUB ISDomainNames_get_Count_Stub(
  1477.     IRpcStubBuffer *This,
  1478.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1479.     PRPC_MESSAGE _pRpcMessage,
  1480.     DWORD *_pdwStubPhase);
  1481. /* [helpstring][id][restricted][propget] */ HRESULT STDMETHODCALLTYPE ISDomainNames_get__NewEnum_Proxy( 
  1482.     ISDomainNames * This,
  1483.     /* [retval][out] */ IUnknown **retval);
  1484. void __RPC_STUB ISDomainNames_get__NewEnum_Stub(
  1485.     IRpcStubBuffer *This,
  1486.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1487.     PRPC_MESSAGE _pRpcMessage,
  1488.     DWORD *_pdwStubPhase);
  1489. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISDomainNames_Refresh_Proxy( 
  1490.     ISDomainNames * This);
  1491. void __RPC_STUB ISDomainNames_Refresh_Stub(
  1492.     IRpcStubBuffer *This,
  1493.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1494.     PRPC_MESSAGE _pRpcMessage,
  1495.     DWORD *_pdwStubPhase);
  1496. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISDomainNames_get_Item_Proxy( 
  1497.     ISDomainNames * This,
  1498.     /* [in] */ VARIANT varIndex,
  1499.     /* [retval][out] */ BSTR *pbstrDomainName);
  1500. void __RPC_STUB ISDomainNames_get_Item_Stub(
  1501.     IRpcStubBuffer *This,
  1502.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1503.     PRPC_MESSAGE _pRpcMessage,
  1504.     DWORD *_pdwStubPhase);
  1505. #endif  /* __ISDomainNames_INTERFACE_DEFINED__ */
  1506. #ifndef __ISClusterNames_INTERFACE_DEFINED__
  1507. #define __ISClusterNames_INTERFACE_DEFINED__
  1508. /* interface ISClusterNames */
  1509. /* [unique][helpstring][dual][uuid][object][nonextensible][hidden][oleautomation] */ 
  1510. EXTERN_C const IID IID_ISClusterNames;
  1511. #if defined(__cplusplus) && !defined(CINTERFACE)
  1512.     
  1513.     MIDL_INTERFACE("f2e606ec-2631-11d1-89f1-00a0c90d061e")
  1514.     ISClusterNames : public IDispatch
  1515.     {
  1516.     public:
  1517.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
  1518.             /* [retval][out] */ long *plCount) = 0;
  1519.         
  1520.         virtual /* [helpstring][id][restricted][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
  1521.             /* [retval][out] */ IUnknown **retval) = 0;
  1522.         
  1523.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Refresh( void) = 0;
  1524.         
  1525.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
  1526.             /* [in] */ VARIANT varIndex,
  1527.             /* [retval][out] */ BSTR *pbstrClusterName) = 0;
  1528.         
  1529.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DomainName( 
  1530.             /* [retval][out] */ BSTR *pbstrDomainName) = 0;
  1531.         
  1532.     };
  1533.     
  1534. #else  /* C style interface */
  1535.     typedef struct ISClusterNamesVtbl
  1536.     {
  1537.         BEGIN_INTERFACE
  1538.         
  1539.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1540.             ISClusterNames * This,
  1541.             /* [in] */ REFIID riid,
  1542.             /* [iid_is][out] */ void **ppvObject);
  1543.         
  1544.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1545.             ISClusterNames * This);
  1546.         
  1547.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1548.             ISClusterNames * This);
  1549.         
  1550.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1551.             ISClusterNames * This,
  1552.             /* [out] */ UINT *pctinfo);
  1553.         
  1554.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1555.             ISClusterNames * This,
  1556.             /* [in] */ UINT iTInfo,
  1557.             /* [in] */ LCID lcid,
  1558.             /* [out] */ ITypeInfo **ppTInfo);
  1559.         
  1560.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1561.             ISClusterNames * This,
  1562.             /* [in] */ REFIID riid,
  1563.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1564.             /* [in] */ UINT cNames,
  1565.             /* [in] */ LCID lcid,
  1566.             /* [size_is][out] */ DISPID *rgDispId);
  1567.         
  1568.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1569.             ISClusterNames * This,
  1570.             /* [in] */ DISPID dispIdMember,
  1571.             /* [in] */ REFIID riid,
  1572.             /* [in] */ LCID lcid,
  1573.             /* [in] */ WORD wFlags,
  1574.             /* [out][in] */ DISPPARAMS *pDispParams,
  1575.             /* [out] */ VARIANT *pVarResult,
  1576.             /* [out] */ EXCEPINFO *pExcepInfo,
  1577.             /* [out] */ UINT *puArgErr);
  1578.         
  1579.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
  1580.             ISClusterNames * This,
  1581.             /* [retval][out] */ long *plCount);
  1582.         
  1583.         /* [helpstring][id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
  1584.             ISClusterNames * This,
  1585.             /* [retval][out] */ IUnknown **retval);
  1586.         
  1587.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Refresh )( 
  1588.             ISClusterNames * This);
  1589.         
  1590.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
  1591.             ISClusterNames * This,
  1592.             /* [in] */ VARIANT varIndex,
  1593.             /* [retval][out] */ BSTR *pbstrClusterName);
  1594.         
  1595.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DomainName )( 
  1596.             ISClusterNames * This,
  1597.             /* [retval][out] */ BSTR *pbstrDomainName);
  1598.         
  1599.         END_INTERFACE
  1600.     } ISClusterNamesVtbl;
  1601.     interface ISClusterNames
  1602.     {
  1603.         CONST_VTBL struct ISClusterNamesVtbl *lpVtbl;
  1604.     };
  1605.     
  1606. #ifdef COBJMACROS
  1607. #define ISClusterNames_QueryInterface(This,riid,ppvObject)
  1608.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1609. #define ISClusterNames_AddRef(This)
  1610.     (This)->lpVtbl -> AddRef(This)
  1611. #define ISClusterNames_Release(This)
  1612.     (This)->lpVtbl -> Release(This)
  1613. #define ISClusterNames_GetTypeInfoCount(This,pctinfo)
  1614.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1615. #define ISClusterNames_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1616.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1617. #define ISClusterNames_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1618.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1619. #define ISClusterNames_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1620.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1621. #define ISClusterNames_get_Count(This,plCount)
  1622.     (This)->lpVtbl -> get_Count(This,plCount)
  1623. #define ISClusterNames_get__NewEnum(This,retval)
  1624.     (This)->lpVtbl -> get__NewEnum(This,retval)
  1625. #define ISClusterNames_Refresh(This)
  1626.     (This)->lpVtbl -> Refresh(This)
  1627. #define ISClusterNames_get_Item(This,varIndex,pbstrClusterName)
  1628.     (This)->lpVtbl -> get_Item(This,varIndex,pbstrClusterName)
  1629. #define ISClusterNames_get_DomainName(This,pbstrDomainName)
  1630.     (This)->lpVtbl -> get_DomainName(This,pbstrDomainName)
  1631. #endif /* COBJMACROS */
  1632. #endif  /* C style interface */
  1633. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISClusterNames_get_Count_Proxy( 
  1634.     ISClusterNames * This,
  1635.     /* [retval][out] */ long *plCount);
  1636. void __RPC_STUB ISClusterNames_get_Count_Stub(
  1637.     IRpcStubBuffer *This,
  1638.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1639.     PRPC_MESSAGE _pRpcMessage,
  1640.     DWORD *_pdwStubPhase);
  1641. /* [helpstring][id][restricted][propget] */ HRESULT STDMETHODCALLTYPE ISClusterNames_get__NewEnum_Proxy( 
  1642.     ISClusterNames * This,
  1643.     /* [retval][out] */ IUnknown **retval);
  1644. void __RPC_STUB ISClusterNames_get__NewEnum_Stub(
  1645.     IRpcStubBuffer *This,
  1646.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1647.     PRPC_MESSAGE _pRpcMessage,
  1648.     DWORD *_pdwStubPhase);
  1649. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISClusterNames_Refresh_Proxy( 
  1650.     ISClusterNames * This);
  1651. void __RPC_STUB ISClusterNames_Refresh_Stub(
  1652.     IRpcStubBuffer *This,
  1653.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1654.     PRPC_MESSAGE _pRpcMessage,
  1655.     DWORD *_pdwStubPhase);
  1656. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISClusterNames_get_Item_Proxy( 
  1657.     ISClusterNames * This,
  1658.     /* [in] */ VARIANT varIndex,
  1659.     /* [retval][out] */ BSTR *pbstrClusterName);
  1660. void __RPC_STUB ISClusterNames_get_Item_Stub(
  1661.     IRpcStubBuffer *This,
  1662.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1663.     PRPC_MESSAGE _pRpcMessage,
  1664.     DWORD *_pdwStubPhase);
  1665. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISClusterNames_get_DomainName_Proxy( 
  1666.     ISClusterNames * This,
  1667.     /* [retval][out] */ BSTR *pbstrDomainName);
  1668. void __RPC_STUB ISClusterNames_get_DomainName_Stub(
  1669.     IRpcStubBuffer *This,
  1670.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1671.     PRPC_MESSAGE _pRpcMessage,
  1672.     DWORD *_pdwStubPhase);
  1673. #endif  /* __ISClusterNames_INTERFACE_DEFINED__ */
  1674. #ifndef __ISClusRefObject_INTERFACE_DEFINED__
  1675. #define __ISClusRefObject_INTERFACE_DEFINED__
  1676. /* interface ISClusRefObject */
  1677. /* [unique][helpstring][dual][uuid][object][nonextensible][hidden][oleautomation] */ 
  1678. EXTERN_C const IID IID_ISClusRefObject;
  1679. #if defined(__cplusplus) && !defined(CINTERFACE)
  1680.     
  1681.     MIDL_INTERFACE("f2e60702-2631-11d1-89f1-00a0c90d061e")
  1682.     ISClusRefObject : public IDispatch
  1683.     {
  1684.     public:
  1685.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Handle( 
  1686.             /* [retval][out] */ ULONG_PTR *phandle) = 0;
  1687.         
  1688.     };
  1689.     
  1690. #else  /* C style interface */
  1691.     typedef struct ISClusRefObjectVtbl
  1692.     {
  1693.         BEGIN_INTERFACE
  1694.         
  1695.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1696.             ISClusRefObject * This,
  1697.             /* [in] */ REFIID riid,
  1698.             /* [iid_is][out] */ void **ppvObject);
  1699.         
  1700.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1701.             ISClusRefObject * This);
  1702.         
  1703.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1704.             ISClusRefObject * This);
  1705.         
  1706.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1707.             ISClusRefObject * This,
  1708.             /* [out] */ UINT *pctinfo);
  1709.         
  1710.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1711.             ISClusRefObject * This,
  1712.             /* [in] */ UINT iTInfo,
  1713.             /* [in] */ LCID lcid,
  1714.             /* [out] */ ITypeInfo **ppTInfo);
  1715.         
  1716.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1717.             ISClusRefObject * This,
  1718.             /* [in] */ REFIID riid,
  1719.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1720.             /* [in] */ UINT cNames,
  1721.             /* [in] */ LCID lcid,
  1722.             /* [size_is][out] */ DISPID *rgDispId);
  1723.         
  1724.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1725.             ISClusRefObject * This,
  1726.             /* [in] */ DISPID dispIdMember,
  1727.             /* [in] */ REFIID riid,
  1728.             /* [in] */ LCID lcid,
  1729.             /* [in] */ WORD wFlags,
  1730.             /* [out][in] */ DISPPARAMS *pDispParams,
  1731.             /* [out] */ VARIANT *pVarResult,
  1732.             /* [out] */ EXCEPINFO *pExcepInfo,
  1733.             /* [out] */ UINT *puArgErr);
  1734.         
  1735.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
  1736.             ISClusRefObject * This,
  1737.             /* [retval][out] */ ULONG_PTR *phandle);
  1738.         
  1739.         END_INTERFACE
  1740.     } ISClusRefObjectVtbl;
  1741.     interface ISClusRefObject
  1742.     {
  1743.         CONST_VTBL struct ISClusRefObjectVtbl *lpVtbl;
  1744.     };
  1745.     
  1746. #ifdef COBJMACROS
  1747. #define ISClusRefObject_QueryInterface(This,riid,ppvObject)
  1748.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1749. #define ISClusRefObject_AddRef(This)
  1750.     (This)->lpVtbl -> AddRef(This)
  1751. #define ISClusRefObject_Release(This)
  1752.     (This)->lpVtbl -> Release(This)
  1753. #define ISClusRefObject_GetTypeInfoCount(This,pctinfo)
  1754.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1755. #define ISClusRefObject_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1756.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1757. #define ISClusRefObject_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1758.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1759. #define ISClusRefObject_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1760.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1761. #define ISClusRefObject_get_Handle(This,phandle)
  1762.     (This)->lpVtbl -> get_Handle(This,phandle)
  1763. #endif /* COBJMACROS */
  1764. #endif  /* C style interface */
  1765. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISClusRefObject_get_Handle_Proxy( 
  1766.     ISClusRefObject * This,
  1767.     /* [retval][out] */ ULONG_PTR *phandle);
  1768. void __RPC_STUB ISClusRefObject_get_Handle_Stub(
  1769.     IRpcStubBuffer *This,
  1770.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1771.     PRPC_MESSAGE _pRpcMessage,
  1772.     DWORD *_pdwStubPhase);
  1773. #endif  /* __ISClusRefObject_INTERFACE_DEFINED__ */
  1774. #ifndef __ISClusVersion_INTERFACE_DEFINED__
  1775. #define __ISClusVersion_INTERFACE_DEFINED__
  1776. /* interface ISClusVersion */
  1777. /* [unique][helpstring][dual][uuid][object][nonextensible][hidden][oleautomation] */ 
  1778. EXTERN_C const IID IID_ISClusVersion;
  1779. #if defined(__cplusplus) && !defined(CINTERFACE)
  1780.     
  1781.     MIDL_INTERFACE("f2e60716-2631-11d1-89f1-00a0c90d061e")
  1782.     ISClusVersion : public IDispatch
  1783.     {
  1784.     public:
  1785.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  1786.             /* [retval][out] */ BSTR *pbstrClusterName) = 0;
  1787.         
  1788.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_MajorVersion( 
  1789.             /* [retval][out] */ long *pnMajorVersion) = 0;
  1790.         
  1791.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_MinorVersion( 
  1792.             /* [retval][out] */ long *pnMinorVersion) = 0;
  1793.         
  1794.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_BuildNumber( 
  1795.             /* [retval][out] */ SHORT *pnBuildNumber) = 0;
  1796.         
  1797.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_VendorId( 
  1798.             /* [retval][out] */ BSTR *pbstrVendorId) = 0;
  1799.         
  1800.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CSDVersion( 
  1801.             /* [retval][out] */ BSTR *pbstrCSDVersion) = 0;
  1802.         
  1803.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ClusterHighestVersion( 
  1804.             /* [retval][out] */ long *pnClusterHighestVersion) = 0;
  1805.         
  1806.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ClusterLowestVersion( 
  1807.             /* [retval][out] */ long *pnClusterLowestVersion) = 0;
  1808.         
  1809.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Flags( 
  1810.             /* [retval][out] */ long *pnFlags) = 0;
  1811.         
  1812.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_MixedVersion( 
  1813.             /* [retval][out] */ VARIANT *pvarMixedVersion) = 0;
  1814.         
  1815.     };
  1816.     
  1817. #else  /* C style interface */
  1818.     typedef struct ISClusVersionVtbl
  1819.     {
  1820.         BEGIN_INTERFACE
  1821.         
  1822.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1823.             ISClusVersion * This,
  1824.             /* [in] */ REFIID riid,
  1825.             /* [iid_is][out] */ void **ppvObject);
  1826.         
  1827.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1828.             ISClusVersion * This);
  1829.         
  1830.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1831.             ISClusVersion * This);
  1832.         
  1833.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1834.             ISClusVersion * This,
  1835.             /* [out] */ UINT *pctinfo);
  1836.         
  1837.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1838.             ISClusVersion * This,
  1839.             /* [in] */ UINT iTInfo,
  1840.             /* [in] */ LCID lcid,
  1841.             /* [out] */ ITypeInfo **ppTInfo);
  1842.         
  1843.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1844.             ISClusVersion * This,
  1845.             /* [in] */ REFIID riid,
  1846.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1847.             /* [in] */ UINT cNames,
  1848.             /* [in] */ LCID lcid,
  1849.             /* [size_is][out] */ DISPID *rgDispId);
  1850.         
  1851.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1852.             ISClusVersion * This,
  1853.             /* [in] */ DISPID dispIdMember,
  1854.             /* [in] */ REFIID riid,
  1855.             /* [in] */ LCID lcid,
  1856.             /* [in] */ WORD wFlags,
  1857.             /* [out][in] */ DISPPARAMS *pDispParams,
  1858.             /* [out] */ VARIANT *pVarResult,
  1859.             /* [out] */ EXCEPINFO *pExcepInfo,
  1860.             /* [out] */ UINT *puArgErr);
  1861.         
  1862.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  1863.             ISClusVersion * This,
  1864.             /* [retval][out] */ BSTR *pbstrClusterName);
  1865.         
  1866.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MajorVersion )( 
  1867.             ISClusVersion * This,
  1868.             /* [retval][out] */ long *pnMajorVersion);
  1869.         
  1870.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MinorVersion )( 
  1871.             ISClusVersion * This,
  1872.             /* [retval][out] */ long *pnMinorVersion);
  1873.         
  1874.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BuildNumber )( 
  1875.             ISClusVersion * This,
  1876.             /* [retval][out] */ SHORT *pnBuildNumber);
  1877.         
  1878.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VendorId )( 
  1879.             ISClusVersion * This,
  1880.             /* [retval][out] */ BSTR *pbstrVendorId);
  1881.         
  1882.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CSDVersion )( 
  1883.             ISClusVersion * This,
  1884.             /* [retval][out] */ BSTR *pbstrCSDVersion);
  1885.         
  1886.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClusterHighestVersion )( 
  1887.             ISClusVersion * This,
  1888.             /* [retval][out] */ long *pnClusterHighestVersion);
  1889.         
  1890.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClusterLowestVersion )( 
  1891.             ISClusVersion * This,
  1892.             /* [retval][out] */ long *pnClusterLowestVersion);
  1893.         
  1894.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Flags )( 
  1895.             ISClusVersion * This,
  1896.             /* [retval][out] */ long *pnFlags);
  1897.         
  1898.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MixedVersion )( 
  1899.             ISClusVersion * This,
  1900.             /* [retval][out] */ VARIANT *pvarMixedVersion);
  1901.         
  1902.         END_INTERFACE
  1903.     } ISClusVersionVtbl;
  1904.     interface ISClusVersion
  1905.     {
  1906.         CONST_VTBL struct ISClusVersionVtbl *lpVtbl;
  1907.     };
  1908.     
  1909. #ifdef COBJMACROS
  1910. #define ISClusVersion_QueryInterface(This,riid,ppvObject)
  1911.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1912. #define ISClusVersion_AddRef(This)
  1913.     (This)->lpVtbl -> AddRef(This)
  1914. #define ISClusVersion_Release(This)
  1915.     (This)->lpVtbl -> Release(This)
  1916. #define ISClusVersion_GetTypeInfoCount(This,pctinfo)
  1917.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1918. #define ISClusVersion_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1919.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1920. #define ISClusVersion_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1921.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1922. #define ISClusVersion_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1923.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1924. #define ISClusVersion_get_Name(This,pbstrClusterName)
  1925.     (This)->lpVtbl -> get_Name(This,pbstrClusterName)
  1926. #define ISClusVersion_get_MajorVersion(This,pnMajorVersion)
  1927.     (This)->lpVtbl -> get_MajorVersion(This,pnMajorVersion)
  1928. #define ISClusVersion_get_MinorVersion(This,pnMinorVersion)
  1929.     (This)->lpVtbl -> get_MinorVersion(This,pnMinorVersion)
  1930. #define ISClusVersion_get_BuildNumber(This,pnBuildNumber)
  1931.     (This)->lpVtbl -> get_BuildNumber(This,pnBuildNumber)
  1932. #define ISClusVersion_get_VendorId(This,pbstrVendorId)
  1933.     (This)->lpVtbl -> get_VendorId(This,pbstrVendorId)
  1934. #define ISClusVersion_get_CSDVersion(This,pbstrCSDVersion)
  1935.     (This)->lpVtbl -> get_CSDVersion(This,pbstrCSDVersion)
  1936. #define ISClusVersion_get_ClusterHighestVersion(This,pnClusterHighestVersion)
  1937.     (This)->lpVtbl -> get_ClusterHighestVersion(This,pnClusterHighestVersion)
  1938. #define ISClusVersion_get_ClusterLowestVersion(This,pnClusterLowestVersion)
  1939.     (This)->lpVtbl -> get_ClusterLowestVersion(This,pnClusterLowestVersion)
  1940. #define ISClusVersion_get_Flags(This,pnFlags)
  1941.     (This)->lpVtbl -> get_Flags(This,pnFlags)
  1942. #define ISClusVersion_get_MixedVersion(This,pvarMixedVersion)
  1943.     (This)->lpVtbl -> get_MixedVersion(This,pvarMixedVersion)
  1944. #endif /* COBJMACROS */
  1945. #endif  /* C style interface */
  1946. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISClusVersion_get_Name_Proxy( 
  1947.     ISClusVersion * This,
  1948.     /* [retval][out] */ BSTR *pbstrClusterName);
  1949. void __RPC_STUB ISClusVersion_get_Name_Stub(
  1950.     IRpcStubBuffer *This,
  1951.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1952.     PRPC_MESSAGE _pRpcMessage,
  1953.     DWORD *_pdwStubPhase);
  1954. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISClusVersion_get_MajorVersion_Proxy( 
  1955.     ISClusVersion * This,
  1956.     /* [retval][out] */ long *pnMajorVersion);
  1957. void __RPC_STUB ISClusVersion_get_MajorVersion_Stub(
  1958.     IRpcStubBuffer *This,
  1959.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1960.     PRPC_MESSAGE _pRpcMessage,
  1961.     DWORD *_pdwStubPhase);
  1962. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISClusVersion_get_MinorVersion_Proxy( 
  1963.     ISClusVersion * This,
  1964.     /* [retval][out] */ long *pnMinorVersion);
  1965. void __RPC_STUB ISClusVersion_get_MinorVersion_Stub(
  1966.     IRpcStubBuffer *This,
  1967.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1968.     PRPC_MESSAGE _pRpcMessage,
  1969.     DWORD *_pdwStubPhase);
  1970. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISClusVersion_get_BuildNumber_Proxy( 
  1971.     ISClusVersion * This,
  1972.     /* [retval][out] */ SHORT *pnBuildNumber);
  1973. void __RPC_STUB ISClusVersion_get_BuildNumber_Stub(
  1974.     IRpcStubBuffer *This,
  1975.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1976.     PRPC_MESSAGE _pRpcMessage,
  1977.     DWORD *_pdwStubPhase);
  1978. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISClusVersion_get_VendorId_Proxy( 
  1979.     ISClusVersion * This,
  1980.     /* [retval][out] */ BSTR *pbstrVendorId);
  1981. void __RPC_STUB ISClusVersion_get_VendorId_Stub(
  1982.     IRpcStubBuffer *This,
  1983.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1984.     PRPC_MESSAGE _pRpcMessage,
  1985.     DWORD *_pdwStubPhase);
  1986. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISClusVersion_get_CSDVersion_Proxy( 
  1987.     ISClusVersion * This,
  1988.     /* [retval][out] */ BSTR *pbstrCSDVersion);
  1989. void __RPC_STUB ISClusVersion_get_CSDVersion_Stub(
  1990.     IRpcStubBuffer *This,
  1991.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1992.     PRPC_MESSAGE _pRpcMessage,
  1993.     DWORD *_pdwStubPhase);
  1994. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISClusVersion_get_ClusterHighestVersion_Proxy( 
  1995.     ISClusVersion * This,
  1996.     /* [retval][out] */ long *pnClusterHighestVersion);
  1997. void __RPC_STUB ISClusVersion_get_ClusterHighestVersion_Stub(
  1998.     IRpcStubBuffer *This,
  1999.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2000.     PRPC_MESSAGE _pRpcMessage,
  2001.     DWORD *_pdwStubPhase);
  2002. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISClusVersion_get_ClusterLowestVersion_Proxy( 
  2003.     ISClusVersion * This,
  2004.     /* [retval][out] */ long *pnClusterLowestVersion);
  2005. void __RPC_STUB ISClusVersion_get_ClusterLowestVersion_Stub(
  2006.     IRpcStubBuffer *This,
  2007.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2008.     PRPC_MESSAGE _pRpcMessage,
  2009.     DWORD *_pdwStubPhase);
  2010. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISClusVersion_get_Flags_Proxy( 
  2011.     ISClusVersion * This,
  2012.     /* [retval][out] */ long *pnFlags);
  2013. void __RPC_STUB ISClusVersion_get_Flags_Stub(
  2014.     IRpcStubBuffer *This,
  2015.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2016.     PRPC_MESSAGE _pRpcMessage,
  2017.     DWORD *_pdwStubPhase);
  2018. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISClusVersion_get_MixedVersion_Proxy( 
  2019.     ISClusVersion * This,
  2020.     /* [retval][out] */ VARIANT *pvarMixedVersion);
  2021. void __RPC_STUB ISClusVersion_get_MixedVersion_Stub(
  2022.     IRpcStubBuffer *This,
  2023.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2024.     PRPC_MESSAGE _pRpcMessage,
  2025.     DWORD *_pdwStubPhase);
  2026. #endif  /* __ISClusVersion_INTERFACE_DEFINED__ */
  2027. #ifndef __ISCluster_INTERFACE_DEFINED__
  2028. #define __ISCluster_INTERFACE_DEFINED__
  2029. /* interface ISCluster */
  2030. /* [unique][helpstring][dual][uuid][object][nonextensible][hidden][oleautomation] */ 
  2031. EXTERN_C const IID IID_ISCluster;
  2032. #if defined(__cplusplus) && !defined(CINTERFACE)
  2033.     
  2034.     MIDL_INTERFACE("f2e606e4-2631-11d1-89f1-00a0c90d061e")
  2035.     ISCluster : public IDispatch
  2036.     {
  2037.     public:
  2038.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CommonProperties( 
  2039.             /* [retval][out] */ ISClusProperties **ppProperties) = 0;
  2040.         
  2041.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_PrivateProperties( 
  2042.             /* [retval][out] */ ISClusProperties **ppProperties) = 0;
  2043.         
  2044.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CommonROProperties( 
  2045.             /* [retval][out] */ ISClusProperties **ppProperties) = 0;
  2046.         
  2047.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_PrivateROProperties( 
  2048.             /* [retval][out] */ ISClusProperties **ppProperties) = 0;
  2049.         
  2050.         virtual /* [helpstring][id][hidden][propget] */ HRESULT STDMETHODCALLTYPE get_Handle( 
  2051.             /* [retval][out] */ ULONG_PTR *phandle) = 0;
  2052.         
  2053.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Open( 
  2054.             /* [in] */ BSTR bstrClusterName) = 0;
  2055.         
  2056.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  2057.             /* [retval][out] */ BSTR *pbstrName) = 0;
  2058.         
  2059.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
  2060.             /* [in] */ BSTR bstrClusterName) = 0;
  2061.         
  2062.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Version( 
  2063.             /* [retval][out] */ ISClusVersion **ppClusVersion) = 0;
  2064.         
  2065.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_QuorumResource( 
  2066.             /* [in] */ ISClusResource *pClusterResource) = 0;
  2067.         
  2068.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_QuorumResource( 
  2069.             /* [retval][out] */ ISClusResource **pClusterResource) = 0;
  2070.         
  2071.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_QuorumLogSize( 
  2072.             /* [retval][out] */ long *pnLogSize) = 0;
  2073.         
  2074.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_QuorumLogSize( 
  2075.             /* [in] */ long nLogSize) = 0;
  2076.         
  2077.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_QuorumPath( 
  2078.             /* [retval][out] */ BSTR *ppPath) = 0;
  2079.         
  2080.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_QuorumPath( 
  2081.             BSTR pPath) = 0;
  2082.         
  2083.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Nodes( 
  2084.             /* [retval][out] */ ISClusNodes **ppNodes) = 0;
  2085.         
  2086.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ResourceGroups( 
  2087.             /* [retval][out] */ ISClusResGroups **ppClusterResourceGroups) = 0;
  2088.         
  2089.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Resources( 
  2090.             /* [retval][out] */ ISClusResources **ppClusterResources) = 0;
  2091.         
  2092.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ResourceTypes( 
  2093.             /* [retval][out] */ ISClusResTypes **ppResourceTypes) = 0;
  2094.         
  2095.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Networks( 
  2096.             /* [retval][out] */ ISClusNetworks **ppNetworks) = 0;
  2097.         
  2098.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_NetInterfaces( 
  2099.             /* [retval][out] */ ISClusNetInterfaces **ppNetInterfaces) = 0;
  2100.         
  2101.     };
  2102.     
  2103. #else  /* C style interface */
  2104.     typedef struct ISClusterVtbl
  2105.     {
  2106.         BEGIN_INTERFACE
  2107.         
  2108.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2109.             ISCluster * This,
  2110.             /* [in] */ REFIID riid,
  2111.             /* [iid_is][out] */ void **ppvObject);
  2112.         
  2113.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2114.             ISCluster * This);
  2115.         
  2116.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2117.             ISCluster * This);
  2118.         
  2119.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2120.             ISCluster * This,
  2121.             /* [out] */ UINT *pctinfo);
  2122.         
  2123.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2124.             ISCluster * This,
  2125.             /* [in] */ UINT iTInfo,
  2126.             /* [in] */ LCID lcid,
  2127.             /* [out] */ ITypeInfo **ppTInfo);
  2128.         
  2129.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2130.             ISCluster * This,
  2131.             /* [in] */ REFIID riid,
  2132.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2133.             /* [in] */ UINT cNames,
  2134.             /* [in] */ LCID lcid,
  2135.             /* [size_is][out] */ DISPID *rgDispId);
  2136.         
  2137.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2138.             ISCluster * This,
  2139.             /* [in] */ DISPID dispIdMember,
  2140.             /* [in] */ REFIID riid,
  2141.             /* [in] */ LCID lcid,
  2142.             /* [in] */ WORD wFlags,
  2143.             /* [out][in] */ DISPPARAMS *pDispParams,
  2144.             /* [out] */ VARIANT *pVarResult,
  2145.             /* [out] */ EXCEPINFO *pExcepInfo,
  2146.             /* [out] */ UINT *puArgErr);
  2147.         
  2148.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CommonProperties )( 
  2149.             ISCluster * This,
  2150.             /* [retval][out] */ ISClusProperties **ppProperties);
  2151.         
  2152.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PrivateProperties )( 
  2153.             ISCluster * This,
  2154.             /* [retval][out] */ ISClusProperties **ppProperties);
  2155.         
  2156.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CommonROProperties )( 
  2157.             ISCluster * This,
  2158.             /* [retval][out] */ ISClusProperties **ppProperties);
  2159.         
  2160.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PrivateROProperties )( 
  2161.             ISCluster * This,
  2162.             /* [retval][out] */ ISClusProperties **ppProperties);
  2163.         
  2164.         /* [helpstring][id][hidden][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
  2165.             ISCluster * This,
  2166.             /* [retval][out] */ ULONG_PTR *phandle);
  2167.         
  2168.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
  2169.             ISCluster * This,
  2170.             /* [in] */ BSTR bstrClusterName);
  2171.         
  2172.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  2173.             ISCluster * This,
  2174.             /* [retval][out] */ BSTR *pbstrName);
  2175.         
  2176.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
  2177.             ISCluster * This,
  2178.             /* [in] */ BSTR bstrClusterName);
  2179.         
  2180.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( 
  2181.             ISCluster * This,
  2182.             /* [retval][out] */ ISClusVersion **ppClusVersion);
  2183.         
  2184.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_QuorumResource )( 
  2185.             ISCluster * This,
  2186.             /* [in] */ ISClusResource *pClusterResource);
  2187.         
  2188.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_QuorumResource )( 
  2189.             ISCluster * This,
  2190.             /* [retval][out] */ ISClusResource **pClusterResource);
  2191.         
  2192.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_QuorumLogSize )( 
  2193.             ISCluster * This,
  2194.             /* [retval][out] */ long *pnLogSize);
  2195.         
  2196.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_QuorumLogSize )( 
  2197.             ISCluster * This,
  2198.             /* [in] */ long nLogSize);
  2199.         
  2200.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_QuorumPath )( 
  2201.             ISCluster * This,
  2202.             /* [retval][out] */ BSTR *ppPath);
  2203.         
  2204.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_QuorumPath )( 
  2205.             ISCluster * This,
  2206.             BSTR pPath);
  2207.         
  2208.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Nodes )( 
  2209.             ISCluster * This,
  2210.             /* [retval][out] */ ISClusNodes **ppNodes);
  2211.         
  2212.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ResourceGroups )( 
  2213.             ISCluster * This,
  2214.             /* [retval][out] */ ISClusResGroups **ppClusterResourceGroups);
  2215.         
  2216.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Resources )( 
  2217.             ISCluster * This,
  2218.             /* [retval][out] */ ISClusResources **ppClusterResources);
  2219.         
  2220.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ResourceTypes )( 
  2221.             ISCluster * This,
  2222.             /* [retval][out] */ ISClusResTypes **ppResourceTypes);
  2223.         
  2224.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Networks )( 
  2225.             ISCluster * This,
  2226.             /* [retval][out] */ ISClusNetworks **ppNetworks);
  2227.         
  2228.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NetInterfaces )( 
  2229.             ISCluster * This,
  2230.             /* [retval][out] */ ISClusNetInterfaces **ppNetInterfaces);
  2231.         
  2232.         END_INTERFACE
  2233.     } ISClusterVtbl;
  2234.     interface ISCluster
  2235.     {
  2236.         CONST_VTBL struct ISClusterVtbl *lpVtbl;
  2237.     };
  2238.     
  2239. #ifdef COBJMACROS
  2240. #define ISCluster_QueryInterface(This,riid,ppvObject)
  2241.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2242. #define ISCluster_AddRef(This)
  2243.     (This)->lpVtbl -> AddRef(This)
  2244. #define ISCluster_Release(This)
  2245.     (This)->lpVtbl -> Release(This)
  2246. #define ISCluster_GetTypeInfoCount(This,pctinfo)
  2247.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2248. #define ISCluster_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2249.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2250. #define ISCluster_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2251.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2252. #define ISCluster_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2253.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2254. #define ISCluster_get_CommonProperties(This,ppProperties)
  2255.     (This)->lpVtbl -> get_CommonProperties(This,ppProperties)
  2256. #define ISCluster_get_PrivateProperties(This,ppProperties)
  2257.     (This)->lpVtbl -> get_PrivateProperties(This,ppProperties)
  2258. #define ISCluster_get_CommonROProperties(This,ppProperties)
  2259.     (This)->lpVtbl -> get_CommonROProperties(This,ppProperties)
  2260. #define ISCluster_get_PrivateROProperties(This,ppProperties)
  2261.     (This)->lpVtbl -> get_PrivateROProperties(This,ppProperties)
  2262. #define ISCluster_get_Handle(This,phandle)
  2263.     (This)->lpVtbl -> get_Handle(This,phandle)
  2264. #define ISCluster_Open(This,bstrClusterName)
  2265.     (This)->lpVtbl -> Open(This,bstrClusterName)
  2266. #define ISCluster_get_Name(This,pbstrName)
  2267.     (This)->lpVtbl -> get_Name(This,pbstrName)
  2268. #define ISCluster_put_Name(This,bstrClusterName)
  2269.     (This)->lpVtbl -> put_Name(This,bstrClusterName)
  2270. #define ISCluster_get_Version(This,ppClusVersion)
  2271.     (This)->lpVtbl -> get_Version(This,ppClusVersion)
  2272. #define ISCluster_put_QuorumResource(This,pClusterResource)
  2273.     (This)->lpVtbl -> put_QuorumResource(This,pClusterResource)
  2274. #define ISCluster_get_QuorumResource(This,pClusterResource)
  2275.     (This)->lpVtbl -> get_QuorumResource(This,pClusterResource)
  2276. #define ISCluster_get_QuorumLogSize(This,pnLogSize)
  2277.     (This)->lpVtbl -> get_QuorumLogSize(This,pnLogSize)
  2278. #define ISCluster_put_QuorumLogSize(This,nLogSize)
  2279.     (This)->lpVtbl -> put_QuorumLogSize(This,nLogSize)
  2280. #define ISCluster_get_QuorumPath(This,ppPath)
  2281.     (This)->lpVtbl -> get_QuorumPath(This,ppPath)
  2282. #define ISCluster_put_QuorumPath(This,pPath)
  2283.     (This)->lpVtbl -> put_QuorumPath(This,pPath)
  2284. #define ISCluster_get_Nodes(This,ppNodes)
  2285.     (This)->lpVtbl -> get_Nodes(This,ppNodes)
  2286. #define ISCluster_get_ResourceGroups(This,ppClusterResourceGroups)
  2287.     (This)->lpVtbl -> get_ResourceGroups(This,ppClusterResourceGroups)
  2288. #define ISCluster_get_Resources(This,ppClusterResources)
  2289.     (This)->lpVtbl -> get_Resources(This,ppClusterResources)
  2290. #define ISCluster_get_ResourceTypes(This,ppResourceTypes)
  2291.     (This)->lpVtbl -> get_ResourceTypes(This,ppResourceTypes)
  2292. #define ISCluster_get_Networks(This,ppNetworks)
  2293.     (This)->lpVtbl -> get_Networks(This,ppNetworks)
  2294. #define ISCluster_get_NetInterfaces(This,ppNetInterfaces)
  2295.     (This)->lpVtbl -> get_NetInterfaces(This,ppNetInterfaces)
  2296. #endif /* COBJMACROS */
  2297. #endif  /* C style interface */
  2298. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISCluster_get_CommonProperties_Proxy( 
  2299.     ISCluster * This,
  2300.     /* [retval][out] */ ISClusProperties **ppProperties);
  2301. void __RPC_STUB ISCluster_get_CommonProperties_Stub(
  2302.     IRpcStubBuffer *This,
  2303.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2304.     PRPC_MESSAGE _pRpcMessage,
  2305.     DWORD *_pdwStubPhase);
  2306. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISCluster_get_PrivateProperties_Proxy( 
  2307.     ISCluster * This,
  2308.     /* [retval][out] */ ISClusProperties **ppProperties);
  2309. void __RPC_STUB ISCluster_get_PrivateProperties_Stub(
  2310.     IRpcStubBuffer *This,
  2311.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2312.     PRPC_MESSAGE _pRpcMessage,
  2313.     DWORD *_pdwStubPhase);
  2314. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISCluster_get_CommonROProperties_Proxy( 
  2315.     ISCluster * This,
  2316.     /* [retval][out] */ ISClusProperties **ppProperties);
  2317. void __RPC_STUB ISCluster_get_CommonROProperties_Stub(
  2318.     IRpcStubBuffer *This,
  2319.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2320.     PRPC_MESSAGE _pRpcMessage,
  2321.     DWORD *_pdwStubPhase);
  2322. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISCluster_get_PrivateROProperties_Proxy( 
  2323.     ISCluster * This,
  2324.     /* [retval][out] */ ISClusProperties **ppProperties);
  2325. void __RPC_STUB ISCluster_get_PrivateROProperties_Stub(
  2326.     IRpcStubBuffer *This,
  2327.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2328.     PRPC_MESSAGE _pRpcMessage,
  2329.     DWORD *_pdwStubPhase);
  2330. /* [helpstring][id][hidden][propget] */ HRESULT STDMETHODCALLTYPE ISCluster_get_Handle_Proxy( 
  2331.     ISCluster * This,
  2332.     /* [retval][out] */ ULONG_PTR *phandle);
  2333. void __RPC_STUB ISCluster_get_Handle_Stub(
  2334.     IRpcStubBuffer *This,
  2335.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2336.     PRPC_MESSAGE _pRpcMessage,
  2337.     DWORD *_pdwStubPhase);
  2338. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISCluster_Open_Proxy( 
  2339.     ISCluster * This,
  2340.     /* [in] */ BSTR bstrClusterName);
  2341. void __RPC_STUB ISCluster_Open_Stub(
  2342.     IRpcStubBuffer *This,
  2343.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2344.     PRPC_MESSAGE _pRpcMessage,
  2345.     DWORD *_pdwStubPhase);
  2346. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISCluster_get_Name_Proxy( 
  2347.     ISCluster * This,
  2348.     /* [retval][out] */ BSTR *pbstrName);
  2349. void __RPC_STUB ISCluster_get_Name_Stub(
  2350.     IRpcStubBuffer *This,
  2351.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2352.     PRPC_MESSAGE _pRpcMessage,
  2353.     DWORD *_pdwStubPhase);
  2354. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ISCluster_put_Name_Proxy( 
  2355.     ISCluster * This,
  2356.     /* [in] */ BSTR bstrClusterName);
  2357. void __RPC_STUB ISCluster_put_Name_Stub(
  2358.     IRpcStubBuffer *This,
  2359.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2360.     PRPC_MESSAGE _pRpcMessage,
  2361.     DWORD *_pdwStubPhase);
  2362. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISCluster_get_Version_Proxy( 
  2363.     ISCluster * This,
  2364.     /* [retval][out] */ ISClusVersion **ppClusVersion);