home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / msclus.h < prev    next >
C/C++ Source or Header  |  1998-04-25  |  268KB  |  7,365 lines

  1. //
  2. // Copyright (C) Microsoft Corporation, 1997.  All rights reserved.
  3. //
  4.  
  5. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  6.  
  7.  
  8. /* File created by MIDL compiler version 3.00.44 */
  9. /* at Wed Sep 17 12:03:32 1997
  10.  */
  11. /* Compiler settings for msclus.idl:
  12.     Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
  13.     error checks: none
  14. */
  15. //@@MIDL_FILE_HEADING(  )
  16. #include "rpc.h"
  17. #include "rpcndr.h"
  18. #ifndef COM_NO_WINDOWS_H
  19. #include "windows.h"
  20. #include "ole2.h"
  21. #endif /*COM_NO_WINDOWS_H*/
  22.  
  23. #ifndef __msclus_h__
  24. #define __msclus_h__
  25.  
  26. #ifdef __cplusplus
  27. extern "C"{
  28. #endif 
  29.  
  30. /* Forward Declarations */ 
  31.  
  32. #ifndef __IClusterApplication_FWD_DEFINED__
  33. #define __IClusterApplication_FWD_DEFINED__
  34. typedef interface IClusterApplication IClusterApplication;
  35. #endif     /* __IClusterApplication_FWD_DEFINED__ */
  36.  
  37.  
  38. #ifndef __ClusObjCollection_FWD_DEFINED__
  39. #define __ClusObjCollection_FWD_DEFINED__
  40. typedef interface ClusObjCollection ClusObjCollection;
  41. #endif     /* __ClusObjCollection_FWD_DEFINED__ */
  42.  
  43.  
  44. #ifndef __DomainNames_FWD_DEFINED__
  45. #define __DomainNames_FWD_DEFINED__
  46. typedef interface DomainNames DomainNames;
  47. #endif     /* __DomainNames_FWD_DEFINED__ */
  48.  
  49.  
  50. #ifndef __ClusterNames_FWD_DEFINED__
  51. #define __ClusterNames_FWD_DEFINED__
  52. typedef interface ClusterNames ClusterNames;
  53. #endif     /* __ClusterNames_FWD_DEFINED__ */
  54.  
  55.  
  56. #ifndef __ClusRefObject_FWD_DEFINED__
  57. #define __ClusRefObject_FWD_DEFINED__
  58. typedef interface ClusRefObject ClusRefObject;
  59. #endif     /* __ClusRefObject_FWD_DEFINED__ */
  60.  
  61.  
  62. #ifndef __ClusObj_FWD_DEFINED__
  63. #define __ClusObj_FWD_DEFINED__
  64. typedef interface ClusObj ClusObj;
  65. #endif     /* __ClusObj_FWD_DEFINED__ */
  66.  
  67.  
  68. #ifndef __ICluster_FWD_DEFINED__
  69. #define __ICluster_FWD_DEFINED__
  70. typedef interface ICluster ICluster;
  71. #endif     /* __ICluster_FWD_DEFINED__ */
  72.  
  73.  
  74. #ifndef __ClusNode_FWD_DEFINED__
  75. #define __ClusNode_FWD_DEFINED__
  76. typedef interface ClusNode ClusNode;
  77. #endif     /* __ClusNode_FWD_DEFINED__ */
  78.  
  79.  
  80. #ifndef __ClusNodes_FWD_DEFINED__
  81. #define __ClusNodes_FWD_DEFINED__
  82. typedef interface ClusNodes ClusNodes;
  83. #endif     /* __ClusNodes_FWD_DEFINED__ */
  84.  
  85.  
  86. #ifndef __ClusNetwork_FWD_DEFINED__
  87. #define __ClusNetwork_FWD_DEFINED__
  88. typedef interface ClusNetwork ClusNetwork;
  89. #endif     /* __ClusNetwork_FWD_DEFINED__ */
  90.  
  91.  
  92. #ifndef __ClusNetworks_FWD_DEFINED__
  93. #define __ClusNetworks_FWD_DEFINED__
  94. typedef interface ClusNetworks ClusNetworks;
  95. #endif     /* __ClusNetworks_FWD_DEFINED__ */
  96.  
  97.  
  98. #ifndef __ClusNetInterface_FWD_DEFINED__
  99. #define __ClusNetInterface_FWD_DEFINED__
  100. typedef interface ClusNetInterface ClusNetInterface;
  101. #endif     /* __ClusNetInterface_FWD_DEFINED__ */
  102.  
  103.  
  104. #ifndef __ClusNetInterfaces_FWD_DEFINED__
  105. #define __ClusNetInterfaces_FWD_DEFINED__
  106. typedef interface ClusNetInterfaces ClusNetInterfaces;
  107. #endif     /* __ClusNetInterfaces_FWD_DEFINED__ */
  108.  
  109.  
  110. #ifndef __ClusNodeNetInterfaces_FWD_DEFINED__
  111. #define __ClusNodeNetInterfaces_FWD_DEFINED__
  112. typedef interface ClusNodeNetInterfaces ClusNodeNetInterfaces;
  113. #endif     /* __ClusNodeNetInterfaces_FWD_DEFINED__ */
  114.  
  115.  
  116. #ifndef __ClusNetworkNetInterfaces_FWD_DEFINED__
  117. #define __ClusNetworkNetInterfaces_FWD_DEFINED__
  118. typedef interface ClusNetworkNetInterfaces ClusNetworkNetInterfaces;
  119. #endif     /* __ClusNetworkNetInterfaces_FWD_DEFINED__ */
  120.  
  121.  
  122. #ifndef __ClusResGroup_FWD_DEFINED__
  123. #define __ClusResGroup_FWD_DEFINED__
  124. typedef interface ClusResGroup ClusResGroup;
  125. #endif     /* __ClusResGroup_FWD_DEFINED__ */
  126.  
  127.  
  128. #ifndef __ClusResGroups_FWD_DEFINED__
  129. #define __ClusResGroups_FWD_DEFINED__
  130. typedef interface ClusResGroups ClusResGroups;
  131. #endif     /* __ClusResGroups_FWD_DEFINED__ */
  132.  
  133.  
  134. #ifndef __ClusResource_FWD_DEFINED__
  135. #define __ClusResource_FWD_DEFINED__
  136. typedef interface ClusResource ClusResource;
  137. #endif     /* __ClusResource_FWD_DEFINED__ */
  138.  
  139.  
  140. #ifndef __ClusResDependencies_FWD_DEFINED__
  141. #define __ClusResDependencies_FWD_DEFINED__
  142. typedef interface ClusResDependencies ClusResDependencies;
  143. #endif     /* __ClusResDependencies_FWD_DEFINED__ */
  144.  
  145.  
  146. #ifndef __ClusGroupResources_FWD_DEFINED__
  147. #define __ClusGroupResources_FWD_DEFINED__
  148. typedef interface ClusGroupResources ClusGroupResources;
  149. #endif     /* __ClusGroupResources_FWD_DEFINED__ */
  150.  
  151.  
  152. #ifndef __ClusResTypeResources_FWD_DEFINED__
  153. #define __ClusResTypeResources_FWD_DEFINED__
  154. typedef interface ClusResTypeResources ClusResTypeResources;
  155. #endif     /* __ClusResTypeResources_FWD_DEFINED__ */
  156.  
  157.  
  158. #ifndef __ClusResources_FWD_DEFINED__
  159. #define __ClusResources_FWD_DEFINED__
  160. typedef interface ClusResources ClusResources;
  161. #endif     /* __ClusResources_FWD_DEFINED__ */
  162.  
  163.  
  164. #ifndef __ClusGroupOwners_FWD_DEFINED__
  165. #define __ClusGroupOwners_FWD_DEFINED__
  166. typedef interface ClusGroupOwners ClusGroupOwners;
  167. #endif     /* __ClusGroupOwners_FWD_DEFINED__ */
  168.  
  169.  
  170. #ifndef __ClusResOwners_FWD_DEFINED__
  171. #define __ClusResOwners_FWD_DEFINED__
  172. typedef interface ClusResOwners ClusResOwners;
  173. #endif     /* __ClusResOwners_FWD_DEFINED__ */
  174.  
  175.  
  176. #ifndef __ClusResType_FWD_DEFINED__
  177. #define __ClusResType_FWD_DEFINED__
  178. typedef interface ClusResType ClusResType;
  179. #endif     /* __ClusResType_FWD_DEFINED__ */
  180.  
  181.  
  182. #ifndef __ClusResTypes_FWD_DEFINED__
  183. #define __ClusResTypes_FWD_DEFINED__
  184. typedef interface ClusResTypes ClusResTypes;
  185. #endif     /* __ClusResTypes_FWD_DEFINED__ */
  186.  
  187.  
  188. #ifndef __ClusProperty_FWD_DEFINED__
  189. #define __ClusProperty_FWD_DEFINED__
  190. typedef interface ClusProperty ClusProperty;
  191. #endif     /* __ClusProperty_FWD_DEFINED__ */
  192.  
  193.  
  194. #ifndef __ClusProperties_FWD_DEFINED__
  195. #define __ClusProperties_FWD_DEFINED__
  196. typedef interface ClusProperties ClusProperties;
  197. #endif     /* __ClusProperties_FWD_DEFINED__ */
  198.  
  199.  
  200. /* header files for imported files */
  201. #include "oaidl.h"
  202.  
  203. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  204. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  205.  
  206. /****************************************
  207.  * Generated header for interface: __MIDL__intf_0000
  208.  * at Wed Sep 17 12:03:32 1997
  209.  * using MIDL 3.00.44
  210.  ****************************************/
  211. /* [local] */ 
  212.  
  213.  
  214. #ifndef _CLUSTER_API_TYPES_
  215.             /* size is 4 */
  216. typedef struct _HCLUSTER __RPC_FAR *HCLUSTER;
  217.  
  218.             /* size is 4 */
  219. typedef struct _HNODE __RPC_FAR *HNODE;
  220.  
  221.             /* size is 4 */
  222. typedef struct _HRESOURCE __RPC_FAR *HRESOURCE;
  223.  
  224.             /* size is 4 */
  225. typedef struct _HGROUP __RPC_FAR *HGROUP;
  226.  
  227.             /* size is 4 */
  228. typedef struct _HRESTYPE __RPC_FAR *HRESTYPE;
  229.  
  230.             /* size is 4 */
  231. typedef struct _HNETWORK __RPC_FAR *HNETWORK;
  232.  
  233.             /* size is 4 */
  234. typedef struct _HNETINTERFACE __RPC_FAR *HNETINTERFACE;
  235.  
  236.             /* size is 4 */
  237. typedef struct _HCHANGE __RPC_FAR *HCHANGE;
  238.  
  239.             /* size is 4 */
  240. typedef struct _HCLUSENUM __RPC_FAR *HCLUSENUM;
  241.  
  242.             /* size is 4 */
  243. typedef struct _HGROUPENUM __RPC_FAR *HGROUPENUM;
  244.  
  245.             /* size is 4 */
  246. typedef struct _HRESENUM __RPC_FAR *HRESENUM;
  247.  
  248.             /* size is 4 */
  249. typedef struct _HNETWORKENUM __RPC_FAR *HNETWORKENUM;
  250.  
  251.             /* size is 4 */
  252. typedef struct _HNODEENUM __RPC_FAR *HNODEENUM;
  253.  
  254.             /* size is 2 */
  255. typedef 
  256. enum CLUSTER_QUORUM_TYPE
  257.     {    OperationalQuorum    = 0,
  258.     ModifyQuorum    = OperationalQuorum + 1
  259.     }    CLUSTER_QUORUM_TYPE;
  260.  
  261.             /* size is 2 */
  262. typedef 
  263. enum CLUSTER_CHANGE
  264.     {    CLUSTER_CHANGE_NODE_STATE    = 0x1,
  265.     CLUSTER_CHANGE_NODE_DELETED    = 0x2,
  266.     CLUSTER_CHANGE_NODE_ADDED    = 0x4,
  267.     CLUSTER_CHANGE_NODE_PROPERTY    = 0x8,
  268.     CLUSTER_CHANGE_REGISTRY_NAME    = 0x10,
  269.     CLUSTER_CHANGE_REGISTRY_ATTRIBUTES    = 0x20,
  270.     CLUSTER_CHANGE_REGISTRY_VALUE    = 0x40,
  271.     CLUSTER_CHANGE_REGISTRY_SUBTREE    = 0x80,
  272.     CLUSTER_CHANGE_RESOURCE_STATE    = 0x100,
  273.     CLUSTER_CHANGE_RESOURCE_DELETED    = 0x200,
  274.     CLUSTER_CHANGE_RESOURCE_ADDED    = 0x400,
  275.     CLUSTER_CHANGE_RESOURCE_PROPERTY    = 0x800,
  276.     CLUSTER_CHANGE_GROUP_STATE    = 0x1000,
  277.     CLUSTER_CHANGE_GROUP_DELETED    = 0x2000,
  278.     CLUSTER_CHANGE_GROUP_ADDED    = 0x4000,
  279.     CLUSTER_CHANGE_GROUP_PROPERTY    = 0x8000,
  280.     CLUSTER_CHANGE_RESOURCE_TYPE_DELETED    = 0x10000,
  281.     CLUSTER_CHANGE_RESOURCE_TYPE_ADDED    = 0x20000,
  282.     CLUSTER_CHANGE_NETWORK_STATE    = 0x100000,
  283.     CLUSTER_CHANGE_NETWORK_DELETED    = 0x200000,
  284.     CLUSTER_CHANGE_NETWORK_ADDED    = 0x400000,
  285.     CLUSTER_CHANGE_NETWORK_PROPERTY    = 0x800000,
  286.     CLUSTER_CHANGE_NETINTERFACE_STATE    = 0x1000000,
  287.     CLUSTER_CHANGE_NETINTERFACE_DELETED    = 0x2000000,
  288.     CLUSTER_CHANGE_NETINTERFACE_ADDED    = 0x4000000,
  289.     CLUSTER_CHANGE_NETINTERFACE_PROPERTY    = 0x8000000,
  290.     CLUSTER_CHANGE_QUORUM_STATE    = 0x10000000,
  291.     CLUSTER_CHANGE_CLUSTER_STATE    = 0x20000000,
  292.     CLUSTER_CHANGE_CLUSTER_PROPERTY    = 0x40000000,
  293.     CLUSTER_CHANGE_HANDLE_CLOSE    = 0x80000000,
  294.     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_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_HANDLE_CLOSE
  295.     }    CLUSTER_CHANGE;
  296.  
  297.             /* size is 2 */
  298. typedef 
  299. enum CLUSTER_ENUM
  300.     {    CLUSTER_ENUM_NODE    = 0x1,
  301.     CLUSTER_ENUM_RESTYPE    = 0x2,
  302.     CLUSTER_ENUM_RESOURCE    = 0x4,
  303.     CLUSTER_ENUM_GROUP    = 0x8,
  304.     CLUSTER_ENUM_NETWORK    = 0x10,
  305.     CLUSTER_ENUM_NETINTERFACE    = 0x20,
  306.     CLUSTER_ENUM_INTERNAL_NETWORK    = 0x80000000,
  307.     CLUSTER_ENUM_ALL    = CLUSTER_ENUM_NODE | CLUSTER_ENUM_RESTYPE | CLUSTER_ENUM_RESOURCE | CLUSTER_ENUM_GROUP | CLUSTER_ENUM_NETWORK | CLUSTER_ENUM_NETINTERFACE
  308.     }    CLUSTER_ENUM;
  309.  
  310.             /* size is 2 */
  311. typedef 
  312. enum CLUSTER_NODE_ENUM
  313.     {    CLUSTER_NODE_ENUM_NETINTERFACES    = 0x1,
  314.     CLUSTER_NODE_ENUM_ALL    = CLUSTER_NODE_ENUM_NETINTERFACES
  315.     }    CLUSTER_NODE_ENUM;
  316.  
  317.             /* size is 2 */
  318. typedef 
  319. enum CLUSTER_NODE_STATE
  320.     {    ClusterNodeStateUnknown    = -1,
  321.     ClusterNodeUp    = ClusterNodeStateUnknown + 1,
  322.     ClusterNodeDown    = ClusterNodeUp + 1,
  323.     ClusterNodePaused    = ClusterNodeDown + 1,
  324.     ClusterNodeJoining    = ClusterNodePaused + 1
  325.     }    CLUSTER_NODE_STATE;
  326.  
  327.             /* size is 2 */
  328. typedef 
  329. enum CLUSTER_GROUP_ENUM
  330.     {    CLUSTER_GROUP_ENUM_CONTAINS    = 0x1,
  331.     CLUSTER_GROUP_ENUM_NODES    = 0x2,
  332.     CLUSTER_GROUP_ENUM_ALL    = CLUSTER_GROUP_ENUM_CONTAINS | CLUSTER_GROUP_ENUM_NODES
  333.     }    CLUSTER_GROUP_ENUM;
  334.  
  335.             /* size is 2 */
  336. typedef 
  337. enum CLUSTER_GROUP_STATE
  338.     {    ClusterGroupStateUnknown    = -1,
  339.     ClusterGroupOnline    = ClusterGroupStateUnknown + 1,
  340.     ClusterGroupOffline    = ClusterGroupOnline + 1,
  341.     ClusterGroupFailed    = ClusterGroupOffline + 1,
  342.     ClusterGroupPartialOnline    = ClusterGroupFailed + 1
  343.     }    CLUSTER_GROUP_STATE;
  344.  
  345.             /* size is 2 */
  346. typedef 
  347. enum CLUSTER_GROUP_AUTOFAILBACK_TYPE
  348.     {    ClusterGroupPreventFailback    = 0,
  349.     ClusterGroupAllowFailback    = ClusterGroupPreventFailback + 1,
  350.     ClusterGroupFailbackTypeCount    = ClusterGroupAllowFailback + 1
  351.     }    CLUSTER_GROUP_AUTOFAILBACK_TYPE;
  352.  
  353.             /* size is 2 */
  354. typedef enum CLUSTER_GROUP_AUTOFAILBACK_TYPE CGAFT;
  355.  
  356.             /* size is 2 */
  357. typedef 
  358. enum CLUSTER_RESOURCE_STATE
  359.     {    ClusterResourceStateUnknown    = -1,
  360.     ClusterResourceInherited    = ClusterResourceStateUnknown + 1,
  361.     ClusterResourceInitializing    = ClusterResourceInherited + 1,
  362.     ClusterResourceOnline    = ClusterResourceInitializing + 1,
  363.     ClusterResourceOffline    = ClusterResourceOnline + 1,
  364.     ClusterResourceFailed    = ClusterResourceOffline + 1,
  365.     ClusterResourcePending    = 128,
  366.     ClusterResourceOnlinePending    = ClusterResourcePending + 1,
  367.     ClusterResourceOfflinePending    = ClusterResourceOnlinePending + 1
  368.     }    CLUSTER_RESOURCE_STATE;
  369.  
  370.             /* size is 2 */
  371. typedef 
  372. enum CLUSTER_RESOURCE_RESTART_ACTION
  373.     {    ClusterResourceDontRestart    = 0,
  374.     ClusterResourceRestartNoNotify    = ClusterResourceDontRestart + 1,
  375.     ClusterResourceRestartNotify    = ClusterResourceRestartNoNotify + 1,
  376.     ClusterResourceRestartActionCount    = ClusterResourceRestartNotify + 1
  377.     }    CLUSTER_RESOURCE_RESTART_ACTION;
  378.  
  379.             /* size is 2 */
  380. typedef enum CLUSTER_RESOURCE_RESTART_ACTION CRRA;
  381.  
  382.             /* size is 2 */
  383. typedef 
  384. enum CLUSTER_RESOURCE_CREATE_FLAGS
  385.     {    CLUSTER_RESOURCE_SEPARATE_MONITOR    = 1,
  386.     CLUSTER_RESOURCE_VALID_FLAGS    = CLUSTER_RESOURCE_SEPARATE_MONITOR
  387.     }    CLUSTER_RESOURCE_CREATE_FLAGS;
  388.  
  389.             /* size is 2 */
  390. typedef 
  391. enum CLUSTER_PROPERTY_TYPE
  392.     {    CLUSPROP_TYPE_ENDMARK    = 0,
  393.     CLUSPROP_TYPE_LIST_VALUE    = CLUSPROP_TYPE_ENDMARK + 1,
  394.     CLUSPROP_TYPE_RESCLASS    = CLUSPROP_TYPE_LIST_VALUE + 1,
  395.     CLUSPROP_TYPE_RESERVED1    = CLUSPROP_TYPE_RESCLASS + 1,
  396.     CLUSPROP_TYPE_NAME    = CLUSPROP_TYPE_RESERVED1 + 1,
  397.     CLUSPROP_TYPE_SIGNATURE    = CLUSPROP_TYPE_NAME + 1,
  398.     CLUSPROP_TYPE_SCSI_ADDRESS    = CLUSPROP_TYPE_SIGNATURE + 1,
  399.     CLUSPROP_TYPE_DISK_NUMBER    = CLUSPROP_TYPE_SCSI_ADDRESS + 1,
  400.     CLUSPROP_TYPE_PARTITION_INFO    = CLUSPROP_TYPE_DISK_NUMBER + 1,
  401.     CLUSPROP_TYPE_FTSET_INFO    = CLUSPROP_TYPE_PARTITION_INFO + 1,
  402.     CLUSPROP_TYPE_USER    = 32768
  403.     }    CLUSTER_PROPERTY_TYPE;
  404.  
  405.             /* size is 2 */
  406. typedef 
  407. enum CLUSTER_PROPERTY_FORMAT
  408.     {    CLUSPROP_FORMAT_UNKNOWN    = 0,
  409.     CLUSPROP_FORMAT_BINARY    = CLUSPROP_FORMAT_UNKNOWN + 1,
  410.     CLUSPROP_FORMAT_DWORD    = CLUSPROP_FORMAT_BINARY + 1,
  411.     CLUSPROP_FORMAT_SZ    = CLUSPROP_FORMAT_DWORD + 1,
  412.     CLUSPROP_FORMAT_EXPAND_SZ    = CLUSPROP_FORMAT_SZ + 1,
  413.     CLUSPROP_FORMAT_MULTI_SZ    = CLUSPROP_FORMAT_EXPAND_SZ + 1,
  414.     CLUSPROP_FORMAT_ULARGE_INTEGER    = CLUSPROP_FORMAT_MULTI_SZ + 1,
  415.     CLUSPROP_FORMAT_USER    = 32768
  416.     }    CLUSTER_PROPERTY_FORMAT;
  417.  
  418.             /* size is 2 */
  419. typedef 
  420. enum CLUSTER_PROPERTY_SYNTAX
  421.     {    CLUSPROP_SYNTAX_ENDMARK    = ( DWORD  )(CLUSPROP_TYPE_ENDMARK << 16 | CLUSPROP_FORMAT_UNKNOWN),
  422.     CLUSPROP_SYNTAX_NAME    = ( DWORD  )(CLUSPROP_TYPE_NAME << 16 | CLUSPROP_FORMAT_SZ),
  423.     CLUSPROP_SYNTAX_RESCLASS    = ( DWORD  )(CLUSPROP_TYPE_RESCLASS << 16 | CLUSPROP_FORMAT_DWORD),
  424.     CLUSPROP_SYNTAX_LIST_VALUE_SZ    = ( DWORD  )(CLUSPROP_TYPE_LIST_VALUE << 16 | CLUSPROP_FORMAT_SZ),
  425.     CLUSPROP_SYNTAX_LIST_VALUE_EXPAND_SZ    = ( DWORD  )(CLUSPROP_TYPE_LIST_VALUE << 16 | CLUSPROP_FORMAT_EXPAND_SZ),
  426.     CLUSPROP_SYNTAX_LIST_VALUE_DWORD    = ( DWORD  )(CLUSPROP_TYPE_LIST_VALUE << 16 | CLUSPROP_FORMAT_DWORD),
  427.     CLUSPROP_SYNTAX_LIST_VALUE_BINARY    = ( DWORD  )(CLUSPROP_TYPE_LIST_VALUE << 16 | CLUSPROP_FORMAT_BINARY),
  428.     CLUSPROP_SYNTAX_LIST_VALUE_MULTI_SZ    = ( DWORD  )(CLUSPROP_TYPE_LIST_VALUE << 16 | CLUSPROP_FORMAT_MULTI_SZ),
  429.     CLUSPROP_SYNTAX_DISK_SIGNATURE    = ( DWORD  )(CLUSPROP_TYPE_SIGNATURE << 16 | CLUSPROP_FORMAT_DWORD),
  430.     CLUSPROP_SYNTAX_SCSI_ADDRESS    = ( DWORD  )(CLUSPROP_TYPE_SCSI_ADDRESS << 16 | CLUSPROP_FORMAT_DWORD),
  431.     CLUSPROP_SYNTAX_DISK_NUMBER    = ( DWORD  )(CLUSPROP_TYPE_DISK_NUMBER << 16 | CLUSPROP_FORMAT_DWORD),
  432.     CLUSPROP_SYNTAX_PARTITION_INFO    = ( DWORD  )(CLUSPROP_TYPE_PARTITION_INFO << 16 | CLUSPROP_FORMAT_BINARY),
  433.     CLUSPROP_SYNTAX_FTSET_INFO    = ( DWORD  )(CLUSPROP_TYPE_FTSET_INFO << 16 | CLUSPROP_FORMAT_BINARY)
  434.     }    ;
  435.  
  436.             /* size is 2 */
  437. typedef 
  438. enum CLUSTER_CONTROL_OBJECT
  439.     {    CLUS_OBJECT_INVALID    = 0,
  440.     CLUS_OBJECT_RESOURCE    = CLUS_OBJECT_INVALID + 1,
  441.     CLUS_OBJECT_RESOURCE_TYPE    = CLUS_OBJECT_RESOURCE + 1,
  442.     CLUS_OBJECT_GROUP    = CLUS_OBJECT_RESOURCE_TYPE + 1,
  443.     CLUS_OBJECT_NODE    = CLUS_OBJECT_GROUP + 1,
  444.     CLUS_OBJECT_NETWORK    = CLUS_OBJECT_NODE + 1,
  445.     CLUS_OBJECT_NETINTERFACE    = CLUS_OBJECT_NETWORK + 1,
  446.     CLUS_OBJECT_USER    = 128
  447.     }    CLUSTER_CONTROL_OBJECT;
  448.  
  449.             /* size is 2 */
  450. typedef 
  451. enum CLCTL_CODES
  452.     {    CLCTL_UNKNOWN    = 0 << 0 | 0 + 0 << 2 | 0 << 22,
  453.     CLCTL_GET_CHARACTERISTICS    = 0x1 << 0 | 0 + 1 << 2 | 0 << 22,
  454.     CLCTL_GET_FLAGS    = 0x1 << 0 | 0 + 2 << 2 | 0 << 22,
  455.     CLCTL_GET_CLASS_INFO    = 0x1 << 0 | 0 + 3 << 2 | 0 << 22,
  456.     CLCTL_GET_REQUIRED_DEPENDENCIES    = 0x1 << 0 | 0 + 4 << 2 | 0 << 22,
  457.     CLCTL_GET_NAME    = 0x1 << 0 | 0 + 10 << 2 | 0 << 22,
  458.     CLCTL_GET_RESOURCE_TYPE    = 0x1 << 0 | 0 + 11 << 2 | 0 << 22,
  459.     CLCTL_GET_NODE    = 0x1 << 0 | 0 + 12 << 2 | 0 << 22,
  460.     CLCTL_GET_NETWORK    = 0x1 << 0 | 0 + 13 << 2 | 0 << 22,
  461.     CLCTL_GET_ID    = 0x1 << 0 | 0 + 14 << 2 | 0 << 22,
  462.     CLCTL_ENUM_COMMON_PROPERTIES    = 0x1 << 0 | 0 + 20 << 2 | 0 << 22,
  463.     CLCTL_GET_RO_COMMON_PROPERTIES    = 0x1 << 0 | 0 + 21 << 2 | 0 << 22,
  464.     CLCTL_GET_COMMON_PROPERTIES    = 0x1 << 0 | 0 + 22 << 2 | 0 << 22,
  465.     CLCTL_SET_COMMON_PROPERTIES    = 0x2 << 0 | 0 + 23 << 2 | 0x1 << 22,
  466.     CLCTL_VALIDATE_COMMON_PROPERTIES    = 0x1 << 0 | 0 + 24 << 2 | 0 << 22,
  467.     CLCTL_ENUM_PRIVATE_PROPERTIES    = 0x1 << 0 | 0 + 30 << 2 | 0 << 22,
  468.     CLCTL_GET_RO_PRIVATE_PROPERTIES    = 0x1 << 0 | 0 + 31 << 2 | 0 << 22,
  469.     CLCTL_GET_PRIVATE_PROPERTIES    = 0x1 << 0 | 0 + 32 << 2 | 0 << 22,
  470.     CLCTL_SET_PRIVATE_PROPERTIES    = 0x2 << 0 | 0 + 33 << 2 | 0x1 << 22,
  471.     CLCTL_VALIDATE_PRIVATE_PROPERTIES    = 0x1 << 0 | 0 + 34 << 2 | 0 << 22,
  472.     CLCTL_ADD_REGISTRY_CHECKPOINT    = 0x2 << 0 | 0 + 40 << 2 | 0x1 << 22,
  473.     CLCTL_DELETE_REGISTRY_CHECKPOINT    = 0x2 << 0 | 0 + 41 << 2 | 0x1 << 22,
  474.     CLCTL_GET_REGISTRY_CHECKPOINTS    = 0x1 << 0 | 0 + 42 << 2 | 0 << 22,
  475.     CLCTL_GET_LOADBAL_PROCESS_LIST    = 0x1 << 0 | 0 + 50 << 2 | 0 << 22,
  476.     CLCTL_STORAGE_GET_DISK_INFO    = 0x1 << 0 | 0 + 100 << 2 | 0 << 22,
  477.     CLCTL_STORAGE_GET_AVAILABLE_DISKS    = 0x1 << 0 | 0 + 101 << 2 | 0 << 22,
  478.     CLCTL_STORAGE_IS_PATH_VALID    = 0x1 << 0 | 0 + 102 << 2 | 0 << 22,
  479.     CLCTL_STORAGE_GET_ALL_AVAILABLE_DISKS    = 0x1 << 0 | 0 + 103 << 2 | 0 << 22 | 1 << 23,
  480.     CLCTL_DELETE    = 0x2 << 0 | 1 << 20 | 0 + 1 << 2 | 0x1 << 22,
  481.     CLCTL_INSTALL_NODE    = 0x2 << 0 | 1 << 20 | 0 + 2 << 2 | 0x1 << 22,
  482.     CLCTL_EVICT_NODE    = 0x2 << 0 | 1 << 20 | 0 + 3 << 2 | 0x1 << 22,
  483.     CLCTL_ADD_DEPENDENCY    = 0x2 << 0 | 1 << 20 | 0 + 4 << 2 | 0x1 << 22,
  484.     CLCTL_REMOVE_DEPENDENCY    = 0x2 << 0 | 1 << 20 | 0 + 5 << 2 | 0x1 << 22,
  485.     CLCTL_ADD_OWNER    = 0x2 << 0 | 1 << 20 | 0 + 6 << 2 | 0x1 << 22,
  486.     CLCTL_REMOVE_OWNER    = 0x2 << 0 | 1 << 20 | 0 + 7 << 2 | 0x1 << 22,
  487.     CLCTL_SET_NAME    = 0x2 << 0 | 1 << 20 | 0 + 9 << 2 | 0x1 << 22,
  488.     CLCTL_CLUSTER_NAME_CHANGED    = 0x2 << 0 | 1 << 20 | 0 + 10 << 2 | 0x1 << 22
  489.     }    CLCTL_CODES;
  490.  
  491.             /* size is 2 */
  492. typedef 
  493. enum CLUSCTL_RESOURCE_CODES
  494.     {    CLUSCTL_RESOURCE_UNKNOWN    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_UNKNOWN,
  495.     CLUSCTL_RESOURCE_GET_CHARACTERISTICS    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_GET_CHARACTERISTICS,
  496.     CLUSCTL_RESOURCE_GET_FLAGS    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_GET_FLAGS,
  497.     CLUSCTL_RESOURCE_GET_CLASS_INFO    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_GET_CLASS_INFO,
  498.     CLUSCTL_RESOURCE_GET_REQUIRED_DEPENDENCIES    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_GET_REQUIRED_DEPENDENCIES,
  499.     CLUSCTL_RESOURCE_GET_NAME    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_GET_NAME,
  500.     CLUSCTL_RESOURCE_GET_ID    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_GET_ID,
  501.     CLUSCTL_RESOURCE_GET_RESOURCE_TYPE    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_GET_RESOURCE_TYPE,
  502.     CLUSCTL_RESOURCE_ENUM_COMMON_PROPERTIES    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_ENUM_COMMON_PROPERTIES,
  503.     CLUSCTL_RESOURCE_GET_RO_COMMON_PROPERTIES    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_GET_RO_COMMON_PROPERTIES,
  504.     CLUSCTL_RESOURCE_GET_COMMON_PROPERTIES    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_GET_COMMON_PROPERTIES,
  505.     CLUSCTL_RESOURCE_SET_COMMON_PROPERTIES    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_SET_COMMON_PROPERTIES,
  506.     CLUSCTL_RESOURCE_VALIDATE_COMMON_PROPERTIES    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_VALIDATE_COMMON_PROPERTIES,
  507.     CLUSCTL_RESOURCE_ENUM_PRIVATE_PROPERTIES    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_ENUM_PRIVATE_PROPERTIES,
  508.     CLUSCTL_RESOURCE_GET_RO_PRIVATE_PROPERTIES    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_GET_RO_PRIVATE_PROPERTIES,
  509.     CLUSCTL_RESOURCE_GET_PRIVATE_PROPERTIES    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_GET_PRIVATE_PROPERTIES,
  510.     CLUSCTL_RESOURCE_SET_PRIVATE_PROPERTIES    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_SET_PRIVATE_PROPERTIES,
  511.     CLUSCTL_RESOURCE_VALIDATE_PRIVATE_PROPERTIES    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_VALIDATE_PRIVATE_PROPERTIES,
  512.     CLUSCTL_RESOURCE_ADD_REGISTRY_CHECKPOINT    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_ADD_REGISTRY_CHECKPOINT,
  513.     CLUSCTL_RESOURCE_DELETE_REGISTRY_CHECKPOINT    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_DELETE_REGISTRY_CHECKPOINT,
  514.     CLUSCTL_RESOURCE_GET_REGISTRY_CHECKPOINTS    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_GET_REGISTRY_CHECKPOINTS,
  515.     CLUSCTL_RESOURCE_GET_LOADBAL_PROCESS_LIST    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_GET_LOADBAL_PROCESS_LIST,
  516.     CLUSCTL_RESOURCE_STORAGE_GET_DISK_INFO    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_STORAGE_GET_DISK_INFO,
  517.     CLUSCTL_RESOURCE_STORAGE_IS_PATH_VALID    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_STORAGE_IS_PATH_VALID,
  518.     CLUSCTL_RESOURCE_DELETE    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_DELETE,
  519.     CLUSCTL_RESOURCE_INSTALL_NODE    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_INSTALL_NODE,
  520.     CLUSCTL_RESOURCE_EVICT_NODE    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_EVICT_NODE,
  521.     CLUSCTL_RESOURCE_ADD_DEPENDENCY    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_ADD_DEPENDENCY,
  522.     CLUSCTL_RESOURCE_REMOVE_DEPENDENCY    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_REMOVE_DEPENDENCY,
  523.     CLUSCTL_RESOURCE_ADD_OWNER    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_ADD_OWNER,
  524.     CLUSCTL_RESOURCE_REMOVE_OWNER    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_REMOVE_OWNER,
  525.     CLUSCTL_RESOURCE_SET_NAME    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_SET_NAME,
  526.     CLUSCTL_RESOURCE_CLUSTER_NAME_CHANGED    = CLUS_OBJECT_RESOURCE << 24 | CLCTL_CLUSTER_NAME_CHANGED
  527.     }    CLUSCTL_RESOURCE_CODES;
  528.  
  529.             /* size is 2 */
  530. typedef 
  531. enum CLUSCTL_RESOURCE_TYPE_CODES
  532.     {    CLUSCTL_RESOURCE_TYPE_UNKNOWN    = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_UNKNOWN,
  533.     CLUSCTL_RESOURCE_TYPE_GET_CHARACTERISTICS    = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_GET_CHARACTERISTICS,
  534.     CLUSCTL_RESOURCE_TYPE_GET_FLAGS    = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_GET_FLAGS,
  535.     CLUSCTL_RESOURCE_TYPE_GET_CLASS_INFO    = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_GET_CLASS_INFO,
  536.     CLUSCTL_RESOURCE_TYPE_GET_REQUIRED_DEPENDENCIES    = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_GET_REQUIRED_DEPENDENCIES,
  537.     CLUSCTL_RESOURCE_TYPE_ENUM_COMMON_PROPERTIES    = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_ENUM_COMMON_PROPERTIES,
  538.     CLUSCTL_RESOURCE_TYPE_GET_RO_COMMON_PROPERTIES    = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_GET_RO_COMMON_PROPERTIES,
  539.     CLUSCTL_RESOURCE_TYPE_GET_COMMON_PROPERTIES    = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_GET_COMMON_PROPERTIES,
  540.     CLUSCTL_RESOURCE_TYPE_VALIDATE_COMMON_PROPERTIES    = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_VALIDATE_COMMON_PROPERTIES,
  541.     CLUSCTL_RESOURCE_TYPE_SET_COMMON_PROPERTIES    = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_SET_COMMON_PROPERTIES,
  542.     CLUSCTL_RESOURCE_TYPE_ENUM_PRIVATE_PROPERTIES    = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_ENUM_PRIVATE_PROPERTIES,
  543.     CLUSCTL_RESOURCE_TYPE_GET_RO_PRIVATE_PROPERTIES    = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_GET_RO_PRIVATE_PROPERTIES,
  544.     CLUSCTL_RESOURCE_TYPE_GET_PRIVATE_PROPERTIES    = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_GET_PRIVATE_PROPERTIES,
  545.     CLUSCTL_RESOURCE_TYPE_SET_PRIVATE_PROPERTIES    = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_SET_PRIVATE_PROPERTIES,
  546.     CLUSCTL_RESOURCE_TYPE_VALIDATE_PRIVATE_PROPERTIES    = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_VALIDATE_PRIVATE_PROPERTIES,
  547.     CLUSCTL_RESOURCE_TYPE_GET_REGISTRY_CHECKPOINTS    = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_GET_REGISTRY_CHECKPOINTS,
  548.     CLUSCTL_RESOURCE_TYPE_STORAGE_GET_AVAILABLE_DISKS    = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_STORAGE_GET_AVAILABLE_DISKS,
  549.     CLUSCTL_RESOURCE_TYPE_INSTALL_NODE    = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_INSTALL_NODE,
  550.     CLUSCTL_RESOURCE_TYPE_EVICT_NODE    = CLUS_OBJECT_RESOURCE_TYPE << 24 | CLCTL_EVICT_NODE
  551.     }    CLUSCTL_RESOURCE_TYPE_CODES;
  552.  
  553.             /* size is 2 */
  554. typedef 
  555. enum CLUSCTL_GROUP_CODES
  556.     {    CLUSCTL_GROUP_UNKNOWN    = CLUS_OBJECT_GROUP << 24 | CLCTL_UNKNOWN,
  557.     CLUSCTL_GROUP_GET_CHARACTERISTICS    = CLUS_OBJECT_GROUP << 24 | CLCTL_GET_CHARACTERISTICS,
  558.     CLUSCTL_GROUP_GET_FLAGS    = CLUS_OBJECT_GROUP << 24 | CLCTL_GET_FLAGS,
  559.     CLUSCTL_GROUP_GET_NAME    = CLUS_OBJECT_GROUP << 24 | CLCTL_GET_NAME,
  560.     CLUSCTL_GROUP_GET_ID    = CLUS_OBJECT_GROUP << 24 | CLCTL_GET_ID,
  561.     CLUSCTL_GROUP_ENUM_COMMON_PROPERTIES    = CLUS_OBJECT_GROUP << 24 | CLCTL_ENUM_COMMON_PROPERTIES,
  562.     CLUSCTL_GROUP_GET_RO_COMMON_PROPERTIES    = CLUS_OBJECT_GROUP << 24 | CLCTL_GET_RO_COMMON_PROPERTIES,
  563.     CLUSCTL_GROUP_GET_COMMON_PROPERTIES    = CLUS_OBJECT_GROUP << 24 | CLCTL_GET_COMMON_PROPERTIES,
  564.     CLUSCTL_GROUP_SET_COMMON_PROPERTIES    = CLUS_OBJECT_GROUP << 24 | CLCTL_SET_COMMON_PROPERTIES,
  565.     CLUSCTL_GROUP_VALIDATE_COMMON_PROPERTIES    = CLUS_OBJECT_GROUP << 24 | CLCTL_VALIDATE_COMMON_PROPERTIES,
  566.     CLUSCTL_GROUP_ENUM_PRIVATE_PROPERTIES    = CLUS_OBJECT_GROUP << 24 | CLCTL_ENUM_PRIVATE_PROPERTIES,
  567.     CLUSCTL_GROUP_GET_RO_PRIVATE_PROPERTIES    = CLUS_OBJECT_GROUP << 24 | CLCTL_GET_RO_PRIVATE_PROPERTIES,
  568.     CLUSCTL_GROUP_GET_PRIVATE_PROPERTIES    = CLUS_OBJECT_GROUP << 24 | CLCTL_GET_PRIVATE_PROPERTIES,
  569.     CLUSCTL_GROUP_SET_PRIVATE_PROPERTIES    = CLUS_OBJECT_GROUP << 24 | CLCTL_SET_PRIVATE_PROPERTIES,
  570.     CLUSCTL_GROUP_VALIDATE_PRIVATE_PROPERTIES    = CLUS_OBJECT_GROUP << 24 | CLCTL_VALIDATE_PRIVATE_PROPERTIES
  571.     }    CLUSCTL_GROUP_CODES;
  572.  
  573.             /* size is 2 */
  574. typedef 
  575. enum CLUSCTL_NODE_CODES
  576.     {    CLUSCTL_NODE_UNKNOWN    = CLUS_OBJECT_NODE << 24 | CLCTL_UNKNOWN,
  577.     CLUSCTL_NODE_GET_CHARACTERISTICS    = CLUS_OBJECT_NODE << 24 | CLCTL_GET_CHARACTERISTICS,
  578.     CLUSCTL_NODE_GET_FLAGS    = CLUS_OBJECT_NODE << 24 | CLCTL_GET_FLAGS,
  579.     CLUSCTL_NODE_GET_NAME    = CLUS_OBJECT_NODE << 24 | CLCTL_GET_NAME,
  580.     CLUSCTL_NODE_GET_ID    = CLUS_OBJECT_NODE << 24 | CLCTL_GET_ID,
  581.     CLUSCTL_NODE_ENUM_COMMON_PROPERTIES    = CLUS_OBJECT_NODE << 24 | CLCTL_ENUM_COMMON_PROPERTIES,
  582.     CLUSCTL_NODE_GET_RO_COMMON_PROPERTIES    = CLUS_OBJECT_NODE << 24 | CLCTL_GET_RO_COMMON_PROPERTIES,
  583.     CLUSCTL_NODE_GET_COMMON_PROPERTIES    = CLUS_OBJECT_NODE << 24 | CLCTL_GET_COMMON_PROPERTIES,
  584.     CLUSCTL_NODE_SET_COMMON_PROPERTIES    = CLUS_OBJECT_NODE << 24 | CLCTL_SET_COMMON_PROPERTIES,
  585.     CLUSCTL_NODE_VALIDATE_COMMON_PROPERTIES    = CLUS_OBJECT_NODE << 24 | CLCTL_VALIDATE_COMMON_PROPERTIES,
  586.     CLUSCTL_NODE_ENUM_PRIVATE_PROPERTIES    = CLUS_OBJECT_NODE << 24 | CLCTL_ENUM_PRIVATE_PROPERTIES,
  587.     CLUSCTL_NODE_GET_RO_PRIVATE_PROPERTIES    = CLUS_OBJECT_NODE << 24 | CLCTL_GET_RO_PRIVATE_PROPERTIES,
  588.     CLUSCTL_NODE_GET_PRIVATE_PROPERTIES    = CLUS_OBJECT_NODE << 24 | CLCTL_GET_PRIVATE_PROPERTIES,
  589.     CLUSCTL_NODE_SET_PRIVATE_PROPERTIES    = CLUS_OBJECT_NODE << 24 | CLCTL_SET_PRIVATE_PROPERTIES,
  590.     CLUSCTL_NODE_VALIDATE_PRIVATE_PROPERTIES    = CLUS_OBJECT_NODE << 24 | CLCTL_VALIDATE_PRIVATE_PROPERTIES
  591.     }    CLUSCTL_NODE_CODES;
  592.  
  593.             /* size is 2 */
  594. typedef 
  595. enum CLUSCTL_NETWORK_CODES
  596.     {    CLUSCTL_NETWORK_UNKNOWN    = CLUS_OBJECT_NETWORK << 24 | CLCTL_UNKNOWN,
  597.     CLUSCTL_NETWORK_GET_CHARACTERISTICS    = CLUS_OBJECT_NETWORK << 24 | CLCTL_GET_CHARACTERISTICS,
  598.     CLUSCTL_NETWORK_GET_FLAGS    = CLUS_OBJECT_NETWORK << 24 | CLCTL_GET_FLAGS,
  599.     CLUSCTL_NETWORK_GET_NAME    = CLUS_OBJECT_NETWORK << 24 | CLCTL_GET_NAME,
  600.     CLUSCTL_NETWORK_GET_ID    = CLUS_OBJECT_NETWORK << 24 | CLCTL_GET_ID,
  601.     CLUSCTL_NETWORK_ENUM_COMMON_PROPERTIES    = CLUS_OBJECT_NETWORK << 24 | CLCTL_ENUM_COMMON_PROPERTIES,
  602.     CLUSCTL_NETWORK_GET_RO_COMMON_PROPERTIES    = CLUS_OBJECT_NETWORK << 24 | CLCTL_GET_RO_COMMON_PROPERTIES,
  603.     CLUSCTL_NETWORK_GET_COMMON_PROPERTIES    = CLUS_OBJECT_NETWORK << 24 | CLCTL_GET_COMMON_PROPERTIES,
  604.     CLUSCTL_NETWORK_SET_COMMON_PROPERTIES    = CLUS_OBJECT_NETWORK << 24 | CLCTL_SET_COMMON_PROPERTIES,
  605.     CLUSCTL_NETWORK_VALIDATE_COMMON_PROPERTIES    = CLUS_OBJECT_NETWORK << 24 | CLCTL_VALIDATE_COMMON_PROPERTIES,
  606.     CLUSCTL_NETWORK_ENUM_PRIVATE_PROPERTIES    = CLUS_OBJECT_NETWORK << 24 | CLCTL_ENUM_PRIVATE_PROPERTIES,
  607.     CLUSCTL_NETWORK_GET_RO_PRIVATE_PROPERTIES    = CLUS_OBJECT_NETWORK << 24 | CLCTL_GET_RO_PRIVATE_PROPERTIES,
  608.     CLUSCTL_NETWORK_GET_PRIVATE_PROPERTIES    = CLUS_OBJECT_NETWORK << 24 | CLCTL_GET_PRIVATE_PROPERTIES,
  609.     CLUSCTL_NETWORK_SET_PRIVATE_PROPERTIES    = CLUS_OBJECT_NETWORK << 24 | CLCTL_SET_PRIVATE_PROPERTIES,
  610.     CLUSCTL_NETWORK_VALIDATE_PRIVATE_PROPERTIES    = CLUS_OBJECT_NETWORK << 24 | CLCTL_VALIDATE_PRIVATE_PROPERTIES
  611.     }    CLUSCTL_NETWORK_CODES;
  612.  
  613.             /* size is 2 */
  614. typedef 
  615. enum CLUSCTL_NETINTERFACE_CODES
  616.     {    CLUSCTL_NETINTERFACE_UNKNOWN    = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_UNKNOWN,
  617.     CLUSCTL_NETINTERFACE_GET_CHARACTERISTICS    = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_GET_CHARACTERISTICS,
  618.     CLUSCTL_NETINTERFACE_GET_FLAGS    = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_GET_FLAGS,
  619.     CLUSCTL_NETINTERFACE_GET_NAME    = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_GET_NAME,
  620.     CLUSCTL_NETINTERFACE_GET_ID    = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_GET_ID,
  621.     CLUSCTL_NETINTERFACE_GET_NODE    = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_GET_NODE,
  622.     CLUSCTL_NETINTERFACE_GET_NETWORK    = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_GET_NETWORK,
  623.     CLUSCTL_NETINTERFACE_ENUM_COMMON_PROPERTIES    = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_ENUM_COMMON_PROPERTIES,
  624.     CLUSCTL_NETINTERFACE_GET_RO_COMMON_PROPERTIES    = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_GET_RO_COMMON_PROPERTIES,
  625.     CLUSCTL_NETINTERFACE_GET_COMMON_PROPERTIES    = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_GET_COMMON_PROPERTIES,
  626.     CLUSCTL_NETINTERFACE_SET_COMMON_PROPERTIES    = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_SET_COMMON_PROPERTIES,
  627.     CLUSCTL_NETINTERFACE_VALIDATE_COMMON_PROPERTIES    = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_VALIDATE_COMMON_PROPERTIES,
  628.     CLUSCTL_NETINTERFACE_ENUM_PRIVATE_PROPERTIES    = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_ENUM_PRIVATE_PROPERTIES,
  629.     CLUSCTL_NETINTERFACE_GET_RO_PRIVATE_PROPERTIES    = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_GET_RO_PRIVATE_PROPERTIES,
  630.     CLUSCTL_NETINTERFACE_GET_PRIVATE_PROPERTIES    = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_GET_PRIVATE_PROPERTIES,
  631.     CLUSCTL_NETINTERFACE_SET_PRIVATE_PROPERTIES    = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_SET_PRIVATE_PROPERTIES,
  632.     CLUSCTL_NETINTERFACE_VALIDATE_PRIVATE_PROPERTIES    = CLUS_OBJECT_NETINTERFACE << 24 | CLCTL_VALIDATE_PRIVATE_PROPERTIES
  633.     }    CLUSCTL_NETINTERFACE_CODES;
  634.  
  635.             /* size is 2 */
  636. typedef 
  637. enum CLUSTER_RESOURCE_CLASS
  638.     {    CLUS_RESCLASS_UNKNOWN    = 0,
  639.     CLUS_RESCLASS_STORAGE    = CLUS_RESCLASS_UNKNOWN + 1,
  640.     CLUS_RESCLASS_USER    = 32768
  641.     }    CLUSTER_RESOURCE_CLASS;
  642.  
  643.             /* size is 2 */
  644. typedef 
  645. enum CLUS_RESSUBCLASS
  646.     {    CLUS_RESSUBCLASS_SHARED    = 0x80000000
  647.     }    CLUS_RESSUBCLASS;
  648.  
  649.             /* size is 2 */
  650. typedef 
  651. enum CLUS_CHARACTERISTICS
  652.     {    CLUS_CHAR_UNKNOWN    = 0,
  653.     CLUS_CHAR_QUORUM    = 0x1,
  654.     CLUS_CHAR_DELETE_REQUIRES_ALL_NODES    = 0x2
  655.     }    CLUS_CHARACTERISTICS;
  656.  
  657.             /* size is 2 */
  658. typedef 
  659. enum CLUS_FLAGS
  660.     {    CLUS_FLAG_CORE    = 0x1
  661.     }    CLUS_FLAGS;
  662.  
  663.             /* size is 2 */
  664. typedef 
  665. enum CLUSPROP_PIFLAGS
  666.     {    CLUSPROP_PIFLAG_STICKY    = 0x1,
  667.     CLUSPROP_PIFLAG_REMOVABLE    = 0x2,
  668.     CLUSPROP_PIFLAG_USABLE    = 0x4
  669.     }    CLUSPROP_PIFLAGS;
  670.  
  671.             /* size is 2 */
  672. typedef 
  673. enum CLUSTER_RESOURCE_ENUM
  674.     {    CLUSTER_RESOURCE_ENUM_DEPENDS    = 0x1,
  675.     CLUSTER_RESOURCE_ENUM_PROVIDES    = 0x2,
  676.     CLUSTER_RESOURCE_ENUM_NODES    = 0x4,
  677.     CLUSTER_RESOURCE_ENUM_ALL    = CLUSTER_RESOURCE_ENUM_DEPENDS | CLUSTER_RESOURCE_ENUM_PROVIDES | CLUSTER_RESOURCE_ENUM_NODES
  678.     }    CLUSTER_RESOURCE_ENUM;
  679.  
  680.             /* size is 2 */
  681. typedef 
  682. enum CLUSTER_NETWORK_ENUM
  683.     {    CLUSTER_NETWORK_ENUM_NETINTERFACES    = 0x1,
  684.     CLUSTER_NETWORK_ENUM_ALL    = CLUSTER_NETWORK_ENUM_NETINTERFACES
  685.     }    CLUSTER_NETWORK_ENUM;
  686.  
  687.             /* size is 2 */
  688. typedef 
  689. enum CLUSTER_NETWORK_STATE
  690.     {    ClusterNetworkStateUnknown    = -1,
  691.     ClusterNetworkUnavailable    = ClusterNetworkStateUnknown + 1,
  692.     ClusterNetworkDown    = ClusterNetworkUnavailable + 1,
  693.     ClusterNetworkPartitioned    = ClusterNetworkDown + 1,
  694.     ClusterNetworkUp    = ClusterNetworkPartitioned + 1
  695.     }    CLUSTER_NETWORK_STATE;
  696.  
  697.             /* size is 2 */
  698. typedef 
  699. enum CLUSTER_NETWORK_ROLE
  700.     {    ClusterNetworkRoleNone    = 0,
  701.     ClusterNetworkRoleInternalUse    = 0x1,
  702.     ClusterNetworkRoleClientAccess    = 0x2,
  703.     ClusterNetworkRoleInternalAndClient    = 0x3
  704.     }    CLUSTER_NETWORK_ROLE;
  705.  
  706.             /* size is 2 */
  707. typedef 
  708. enum CLUSTER_NETINTERFACE_STATE
  709.     {    ClusterNetInterfaceStateUnknown    = -1,
  710.     ClusterNetInterfaceUnavailable    = ClusterNetInterfaceStateUnknown + 1,
  711.     ClusterNetInterfaceFailed    = ClusterNetInterfaceUnavailable + 1,
  712.     ClusterNetInterfaceUnreachable    = ClusterNetInterfaceFailed + 1,
  713.     ClusterNetInterfaceUp    = ClusterNetInterfaceUnreachable + 1
  714.     }    CLUSTER_NETINTERFACE_STATE;
  715.  
  716. #define _CLUSTER_API_TYPES_
  717. #endif // _CLUSTER_API_TYPES_
  718.             /* size is 0 */
  719.  
  720.             /* size is 0 */
  721.  
  722.             /* size is 0 */
  723.  
  724.             /* size is 0 */
  725.  
  726.             /* size is 0 */
  727.  
  728.             /* size is 0 */
  729.  
  730.             /* size is 0 */
  731.  
  732.             /* size is 0 */
  733.  
  734.             /* size is 0 */
  735.  
  736.             /* size is 0 */
  737.  
  738.             /* size is 0 */
  739.  
  740.             /* size is 0 */
  741.  
  742.             /* size is 0 */
  743.  
  744.             /* size is 0 */
  745.  
  746.             /* size is 0 */
  747.  
  748.             /* size is 0 */
  749.  
  750.             /* size is 0 */
  751.  
  752.             /* size is 0 */
  753.  
  754.             /* size is 0 */
  755.  
  756.             /* size is 0 */
  757.  
  758.             /* size is 0 */
  759.  
  760.             /* size is 0 */
  761.  
  762.             /* size is 0 */
  763.  
  764.             /* size is 0 */
  765.  
  766.             /* size is 0 */
  767.  
  768.             /* size is 0 */
  769.  
  770.             /* size is 0 */
  771.  
  772.             /* size is 0 */
  773.  
  774.  
  775.  
  776. extern RPC_IF_HANDLE __MIDL__intf_0000_v0_0_c_ifspec;
  777. extern RPC_IF_HANDLE __MIDL__intf_0000_v0_0_s_ifspec;
  778.  
  779. #ifndef __IClusterApplication_INTERFACE_DEFINED__
  780. #define __IClusterApplication_INTERFACE_DEFINED__
  781.  
  782. /****************************************
  783.  * Generated header for interface: IClusterApplication
  784.  * at Wed Sep 17 12:03:32 1997
  785.  * using MIDL 3.00.44
  786.  ****************************************/
  787. /* [unique][hidden][helpstring][dual][uuid][object] */ 
  788.  
  789.  
  790.  
  791. EXTERN_C const IID IID_IClusterApplication;
  792.  
  793. #if defined(__cplusplus) && !defined(CINTERFACE)
  794.     
  795.     interface IClusterApplication : public IDispatch
  796.     {
  797.     public:
  798.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DomainNames( 
  799.             /* [retval][out] */ DomainNames __RPC_FAR *__RPC_FAR *ppDomains) = 0;
  800.         
  801.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ClusterNames( 
  802.             /* [in] */ BSTR bstrDomainName,
  803.             /* [retval][out] */ ClusterNames __RPC_FAR *__RPC_FAR *ppClusters) = 0;
  804.         
  805.         virtual HRESULT STDMETHODCALLTYPE OpenCluster( 
  806.             /* [in] */ BSTR bstrClusterName,
  807.             /* [retval][out] */ ICluster __RPC_FAR *__RPC_FAR *pCluster) = 0;
  808.         
  809.     };
  810.     
  811. #else     /* C style interface */
  812.  
  813.     typedef struct IClusterApplicationVtbl
  814.     {
  815.         BEGIN_INTERFACE
  816.         
  817.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  818.             IClusterApplication __RPC_FAR * This,
  819.             /* [in] */ REFIID riid,
  820.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  821.         
  822.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  823.             IClusterApplication __RPC_FAR * This);
  824.         
  825.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  826.             IClusterApplication __RPC_FAR * This);
  827.         
  828.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  829.             IClusterApplication __RPC_FAR * This,
  830.             /* [out] */ UINT __RPC_FAR *pctinfo);
  831.         
  832.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  833.             IClusterApplication __RPC_FAR * This,
  834.             /* [in] */ UINT iTInfo,
  835.             /* [in] */ LCID lcid,
  836.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  837.         
  838.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  839.             IClusterApplication __RPC_FAR * This,
  840.             /* [in] */ REFIID riid,
  841.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  842.             /* [in] */ UINT cNames,
  843.             /* [in] */ LCID lcid,
  844.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  845.         
  846.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  847.             IClusterApplication __RPC_FAR * This,
  848.             /* [in] */ DISPID dispIdMember,
  849.             /* [in] */ REFIID riid,
  850.             /* [in] */ LCID lcid,
  851.             /* [in] */ WORD wFlags,
  852.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  853.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  854.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  855.             /* [out] */ UINT __RPC_FAR *puArgErr);
  856.         
  857.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DomainNames )( 
  858.             IClusterApplication __RPC_FAR * This,
  859.             /* [retval][out] */ DomainNames __RPC_FAR *__RPC_FAR *ppDomains);
  860.         
  861.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ClusterNames )( 
  862.             IClusterApplication __RPC_FAR * This,
  863.             /* [in] */ BSTR bstrDomainName,
  864.             /* [retval][out] */ ClusterNames __RPC_FAR *__RPC_FAR *ppClusters);
  865.         
  866.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenCluster )( 
  867.             IClusterApplication __RPC_FAR * This,
  868.             /* [in] */ BSTR bstrClusterName,
  869.             /* [retval][out] */ ICluster __RPC_FAR *__RPC_FAR *pCluster);
  870.         
  871.         END_INTERFACE
  872.     } IClusterApplicationVtbl;
  873.  
  874.     interface IClusterApplication
  875.     {
  876.         CONST_VTBL struct IClusterApplicationVtbl __RPC_FAR *lpVtbl;
  877.     };
  878.  
  879.     
  880.  
  881. #ifdef COBJMACROS
  882.  
  883.  
  884. #define IClusterApplication_QueryInterface(This,riid,ppvObject)    \
  885.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  886.  
  887. #define IClusterApplication_AddRef(This)    \
  888.     (This)->lpVtbl -> AddRef(This)
  889.  
  890. #define IClusterApplication_Release(This)    \
  891.     (This)->lpVtbl -> Release(This)
  892.  
  893.  
  894. #define IClusterApplication_GetTypeInfoCount(This,pctinfo)    \
  895.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  896.  
  897. #define IClusterApplication_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  898.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  899.  
  900. #define IClusterApplication_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  901.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  902.  
  903. #define IClusterApplication_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  904.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  905.  
  906.  
  907. #define IClusterApplication_get_DomainNames(This,ppDomains)    \
  908.     (This)->lpVtbl -> get_DomainNames(This,ppDomains)
  909.  
  910. #define IClusterApplication_get_ClusterNames(This,bstrDomainName,ppClusters)    \
  911.     (This)->lpVtbl -> get_ClusterNames(This,bstrDomainName,ppClusters)
  912.  
  913. #define IClusterApplication_OpenCluster(This,bstrClusterName,pCluster)    \
  914.     (This)->lpVtbl -> OpenCluster(This,bstrClusterName,pCluster)
  915.  
  916. #endif /* COBJMACROS */
  917.  
  918.  
  919. #endif     /* C style interface */
  920.  
  921.  
  922.  
  923. /* [propget] */ HRESULT STDMETHODCALLTYPE IClusterApplication_get_DomainNames_Proxy( 
  924.     IClusterApplication __RPC_FAR * This,
  925.     /* [retval][out] */ DomainNames __RPC_FAR *__RPC_FAR *ppDomains);
  926.  
  927.  
  928. void __RPC_STUB IClusterApplication_get_DomainNames_Stub(
  929.     IRpcStubBuffer *This,
  930.     IRpcChannelBuffer *_pRpcChannelBuffer,
  931.     PRPC_MESSAGE _pRpcMessage,
  932.     DWORD *_pdwStubPhase);
  933.  
  934.  
  935. /* [propget] */ HRESULT STDMETHODCALLTYPE IClusterApplication_get_ClusterNames_Proxy( 
  936.     IClusterApplication __RPC_FAR * This,
  937.     /* [in] */ BSTR bstrDomainName,
  938.     /* [retval][out] */ ClusterNames __RPC_FAR *__RPC_FAR *ppClusters);
  939.  
  940.  
  941. void __RPC_STUB IClusterApplication_get_ClusterNames_Stub(
  942.     IRpcStubBuffer *This,
  943.     IRpcChannelBuffer *_pRpcChannelBuffer,
  944.     PRPC_MESSAGE _pRpcMessage,
  945.     DWORD *_pdwStubPhase);
  946.  
  947.  
  948. HRESULT STDMETHODCALLTYPE IClusterApplication_OpenCluster_Proxy( 
  949.     IClusterApplication __RPC_FAR * This,
  950.     /* [in] */ BSTR bstrClusterName,
  951.     /* [retval][out] */ ICluster __RPC_FAR *__RPC_FAR *pCluster);
  952.  
  953.  
  954. void __RPC_STUB IClusterApplication_OpenCluster_Stub(
  955.     IRpcStubBuffer *This,
  956.     IRpcChannelBuffer *_pRpcChannelBuffer,
  957.     PRPC_MESSAGE _pRpcMessage,
  958.     DWORD *_pdwStubPhase);
  959.  
  960.  
  961.  
  962. #endif     /* __IClusterApplication_INTERFACE_DEFINED__ */
  963.  
  964.  
  965. #ifndef __ClusObjCollection_INTERFACE_DEFINED__
  966. #define __ClusObjCollection_INTERFACE_DEFINED__
  967.  
  968. /****************************************
  969.  * Generated header for interface: ClusObjCollection
  970.  * at Wed Sep 17 12:03:32 1997
  971.  * using MIDL 3.00.44
  972.  ****************************************/
  973. /* [unique][helpstring][dual][uuid][object] */ 
  974.  
  975.  
  976.  
  977. EXTERN_C const IID IID_ClusObjCollection;
  978.  
  979. #if defined(__cplusplus) && !defined(CINTERFACE)
  980.     
  981.     interface ClusObjCollection : public IDispatch
  982.     {
  983.     public:
  984.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
  985.             /* [retval][out] */ LONG __RPC_FAR *pnCount) = 0;
  986.         
  987.         virtual /* [helpstring][id][restricted][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
  988.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *retval) = 0;
  989.         
  990.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Refresh( void) = 0;
  991.         
  992.     };
  993.     
  994. #else     /* C style interface */
  995.  
  996.     typedef struct ClusObjCollectionVtbl
  997.     {
  998.         BEGIN_INTERFACE
  999.         
  1000.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1001.             ClusObjCollection __RPC_FAR * This,
  1002.             /* [in] */ REFIID riid,
  1003.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1004.         
  1005.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1006.             ClusObjCollection __RPC_FAR * This);
  1007.         
  1008.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1009.             ClusObjCollection __RPC_FAR * This);
  1010.         
  1011.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  1012.             ClusObjCollection __RPC_FAR * This,
  1013.             /* [out] */ UINT __RPC_FAR *pctinfo);
  1014.         
  1015.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  1016.             ClusObjCollection __RPC_FAR * This,
  1017.             /* [in] */ UINT iTInfo,
  1018.             /* [in] */ LCID lcid,
  1019.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1020.         
  1021.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  1022.             ClusObjCollection __RPC_FAR * This,
  1023.             /* [in] */ REFIID riid,
  1024.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1025.             /* [in] */ UINT cNames,
  1026.             /* [in] */ LCID lcid,
  1027.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1028.         
  1029.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  1030.             ClusObjCollection __RPC_FAR * This,
  1031.             /* [in] */ DISPID dispIdMember,
  1032.             /* [in] */ REFIID riid,
  1033.             /* [in] */ LCID lcid,
  1034.             /* [in] */ WORD wFlags,
  1035.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1036.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1037.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1038.             /* [out] */ UINT __RPC_FAR *puArgErr);
  1039.         
  1040.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  1041.             ClusObjCollection __RPC_FAR * This,
  1042.             /* [retval][out] */ LONG __RPC_FAR *pnCount);
  1043.         
  1044.         /* [helpstring][id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
  1045.             ClusObjCollection __RPC_FAR * This,
  1046.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *retval);
  1047.         
  1048.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  1049.             ClusObjCollection __RPC_FAR * This);
  1050.         
  1051.         END_INTERFACE
  1052.     } ClusObjCollectionVtbl;
  1053.  
  1054.     interface ClusObjCollection
  1055.     {
  1056.         CONST_VTBL struct ClusObjCollectionVtbl __RPC_FAR *lpVtbl;
  1057.     };
  1058.  
  1059.     
  1060.  
  1061. #ifdef COBJMACROS
  1062.  
  1063.  
  1064. #define ClusObjCollection_QueryInterface(This,riid,ppvObject)    \
  1065.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1066.  
  1067. #define ClusObjCollection_AddRef(This)    \
  1068.     (This)->lpVtbl -> AddRef(This)
  1069.  
  1070. #define ClusObjCollection_Release(This)    \
  1071.     (This)->lpVtbl -> Release(This)
  1072.  
  1073.  
  1074. #define ClusObjCollection_GetTypeInfoCount(This,pctinfo)    \
  1075.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1076.  
  1077. #define ClusObjCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  1078.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1079.  
  1080. #define ClusObjCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  1081.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1082.  
  1083. #define ClusObjCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  1084.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1085.  
  1086.  
  1087. #define ClusObjCollection_get_Count(This,pnCount)    \
  1088.     (This)->lpVtbl -> get_Count(This,pnCount)
  1089.  
  1090. #define ClusObjCollection_get__NewEnum(This,retval)    \
  1091.     (This)->lpVtbl -> get__NewEnum(This,retval)
  1092.  
  1093. #define ClusObjCollection_Refresh(This)    \
  1094.     (This)->lpVtbl -> Refresh(This)
  1095.  
  1096. #endif /* COBJMACROS */
  1097.  
  1098.  
  1099. #endif     /* C style interface */
  1100.  
  1101.  
  1102.  
  1103. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusObjCollection_get_Count_Proxy( 
  1104.     ClusObjCollection __RPC_FAR * This,
  1105.     /* [retval][out] */ LONG __RPC_FAR *pnCount);
  1106.  
  1107.  
  1108. void __RPC_STUB ClusObjCollection_get_Count_Stub(
  1109.     IRpcStubBuffer *This,
  1110.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1111.     PRPC_MESSAGE _pRpcMessage,
  1112.     DWORD *_pdwStubPhase);
  1113.  
  1114.  
  1115. /* [helpstring][id][restricted][propget] */ HRESULT STDMETHODCALLTYPE ClusObjCollection_get__NewEnum_Proxy( 
  1116.     ClusObjCollection __RPC_FAR * This,
  1117.     /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *retval);
  1118.  
  1119.  
  1120. void __RPC_STUB ClusObjCollection_get__NewEnum_Stub(
  1121.     IRpcStubBuffer *This,
  1122.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1123.     PRPC_MESSAGE _pRpcMessage,
  1124.     DWORD *_pdwStubPhase);
  1125.  
  1126.  
  1127. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClusObjCollection_Refresh_Proxy( 
  1128.     ClusObjCollection __RPC_FAR * This);
  1129.  
  1130.  
  1131. void __RPC_STUB ClusObjCollection_Refresh_Stub(
  1132.     IRpcStubBuffer *This,
  1133.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1134.     PRPC_MESSAGE _pRpcMessage,
  1135.     DWORD *_pdwStubPhase);
  1136.  
  1137.  
  1138.  
  1139. #endif     /* __ClusObjCollection_INTERFACE_DEFINED__ */
  1140.  
  1141.  
  1142. #ifndef __DomainNames_INTERFACE_DEFINED__
  1143. #define __DomainNames_INTERFACE_DEFINED__
  1144.  
  1145. /****************************************
  1146.  * Generated header for interface: DomainNames
  1147.  * at Wed Sep 17 12:03:32 1997
  1148.  * using MIDL 3.00.44
  1149.  ****************************************/
  1150. /* [unique][helpstring][dual][uuid][object] */ 
  1151.  
  1152.  
  1153.  
  1154. EXTERN_C const IID IID_DomainNames;
  1155.  
  1156. #if defined(__cplusplus) && !defined(CINTERFACE)
  1157.     
  1158.     interface DomainNames : public ClusObjCollection
  1159.     {
  1160.     public:
  1161.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
  1162.             /* [in] */ LONG nIndex,
  1163.             /* [retval][out] */ BSTR __RPC_FAR *pbstrDomainName) = 0;
  1164.         
  1165.     };
  1166.     
  1167. #else     /* C style interface */
  1168.  
  1169.     typedef struct DomainNamesVtbl
  1170.     {
  1171.         BEGIN_INTERFACE
  1172.         
  1173.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1174.             DomainNames __RPC_FAR * This,
  1175.             /* [in] */ REFIID riid,
  1176.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1177.         
  1178.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1179.             DomainNames __RPC_FAR * This);
  1180.         
  1181.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1182.             DomainNames __RPC_FAR * This);
  1183.         
  1184.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  1185.             DomainNames __RPC_FAR * This,
  1186.             /* [out] */ UINT __RPC_FAR *pctinfo);
  1187.         
  1188.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  1189.             DomainNames __RPC_FAR * This,
  1190.             /* [in] */ UINT iTInfo,
  1191.             /* [in] */ LCID lcid,
  1192.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1193.         
  1194.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  1195.             DomainNames __RPC_FAR * This,
  1196.             /* [in] */ REFIID riid,
  1197.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1198.             /* [in] */ UINT cNames,
  1199.             /* [in] */ LCID lcid,
  1200.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1201.         
  1202.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  1203.             DomainNames __RPC_FAR * This,
  1204.             /* [in] */ DISPID dispIdMember,
  1205.             /* [in] */ REFIID riid,
  1206.             /* [in] */ LCID lcid,
  1207.             /* [in] */ WORD wFlags,
  1208.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1209.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1210.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1211.             /* [out] */ UINT __RPC_FAR *puArgErr);
  1212.         
  1213.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  1214.             DomainNames __RPC_FAR * This,
  1215.             /* [retval][out] */ LONG __RPC_FAR *pnCount);
  1216.         
  1217.         /* [helpstring][id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
  1218.             DomainNames __RPC_FAR * This,
  1219.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *retval);
  1220.         
  1221.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  1222.             DomainNames __RPC_FAR * This);
  1223.         
  1224.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
  1225.             DomainNames __RPC_FAR * This,
  1226.             /* [in] */ LONG nIndex,
  1227.             /* [retval][out] */ BSTR __RPC_FAR *pbstrDomainName);
  1228.         
  1229.         END_INTERFACE
  1230.     } DomainNamesVtbl;
  1231.  
  1232.     interface DomainNames
  1233.     {
  1234.         CONST_VTBL struct DomainNamesVtbl __RPC_FAR *lpVtbl;
  1235.     };
  1236.  
  1237.     
  1238.  
  1239. #ifdef COBJMACROS
  1240.  
  1241.  
  1242. #define DomainNames_QueryInterface(This,riid,ppvObject)    \
  1243.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1244.  
  1245. #define DomainNames_AddRef(This)    \
  1246.     (This)->lpVtbl -> AddRef(This)
  1247.  
  1248. #define DomainNames_Release(This)    \
  1249.     (This)->lpVtbl -> Release(This)
  1250.  
  1251.  
  1252. #define DomainNames_GetTypeInfoCount(This,pctinfo)    \
  1253.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1254.  
  1255. #define DomainNames_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  1256.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1257.  
  1258. #define DomainNames_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  1259.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1260.  
  1261. #define DomainNames_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  1262.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1263.  
  1264.  
  1265. #define DomainNames_get_Count(This,pnCount)    \
  1266.     (This)->lpVtbl -> get_Count(This,pnCount)
  1267.  
  1268. #define DomainNames_get__NewEnum(This,retval)    \
  1269.     (This)->lpVtbl -> get__NewEnum(This,retval)
  1270.  
  1271. #define DomainNames_Refresh(This)    \
  1272.     (This)->lpVtbl -> Refresh(This)
  1273.  
  1274.  
  1275. #define DomainNames_get_Item(This,nIndex,pbstrDomainName)    \
  1276.     (This)->lpVtbl -> get_Item(This,nIndex,pbstrDomainName)
  1277.  
  1278. #endif /* COBJMACROS */
  1279.  
  1280.  
  1281. #endif     /* C style interface */
  1282.  
  1283.  
  1284.  
  1285. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE DomainNames_get_Item_Proxy( 
  1286.     DomainNames __RPC_FAR * This,
  1287.     /* [in] */ LONG nIndex,
  1288.     /* [retval][out] */ BSTR __RPC_FAR *pbstrDomainName);
  1289.  
  1290.  
  1291. void __RPC_STUB DomainNames_get_Item_Stub(
  1292.     IRpcStubBuffer *This,
  1293.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1294.     PRPC_MESSAGE _pRpcMessage,
  1295.     DWORD *_pdwStubPhase);
  1296.  
  1297.  
  1298.  
  1299. #endif     /* __DomainNames_INTERFACE_DEFINED__ */
  1300.  
  1301.  
  1302. #ifndef __ClusterNames_INTERFACE_DEFINED__
  1303. #define __ClusterNames_INTERFACE_DEFINED__
  1304.  
  1305. /****************************************
  1306.  * Generated header for interface: ClusterNames
  1307.  * at Wed Sep 17 12:03:32 1997
  1308.  * using MIDL 3.00.44
  1309.  ****************************************/
  1310. /* [unique][helpstring][dual][uuid][object] */ 
  1311.  
  1312.  
  1313.  
  1314. EXTERN_C const IID IID_ClusterNames;
  1315.  
  1316. #if defined(__cplusplus) && !defined(CINTERFACE)
  1317.     
  1318.     interface ClusterNames : public ClusObjCollection
  1319.     {
  1320.     public:
  1321.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
  1322.             /* [in] */ LONG nIndex,
  1323.             /* [retval][out] */ BSTR __RPC_FAR *pbstrClusterName) = 0;
  1324.         
  1325.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DomainName( 
  1326.             /* [retval][out] */ BSTR __RPC_FAR *pbstrDomainName) = 0;
  1327.         
  1328.     };
  1329.     
  1330. #else     /* C style interface */
  1331.  
  1332.     typedef struct ClusterNamesVtbl
  1333.     {
  1334.         BEGIN_INTERFACE
  1335.         
  1336.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1337.             ClusterNames __RPC_FAR * This,
  1338.             /* [in] */ REFIID riid,
  1339.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1340.         
  1341.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1342.             ClusterNames __RPC_FAR * This);
  1343.         
  1344.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1345.             ClusterNames __RPC_FAR * This);
  1346.         
  1347.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  1348.             ClusterNames __RPC_FAR * This,
  1349.             /* [out] */ UINT __RPC_FAR *pctinfo);
  1350.         
  1351.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  1352.             ClusterNames __RPC_FAR * This,
  1353.             /* [in] */ UINT iTInfo,
  1354.             /* [in] */ LCID lcid,
  1355.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1356.         
  1357.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  1358.             ClusterNames __RPC_FAR * This,
  1359.             /* [in] */ REFIID riid,
  1360.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1361.             /* [in] */ UINT cNames,
  1362.             /* [in] */ LCID lcid,
  1363.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1364.         
  1365.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  1366.             ClusterNames __RPC_FAR * This,
  1367.             /* [in] */ DISPID dispIdMember,
  1368.             /* [in] */ REFIID riid,
  1369.             /* [in] */ LCID lcid,
  1370.             /* [in] */ WORD wFlags,
  1371.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1372.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1373.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1374.             /* [out] */ UINT __RPC_FAR *puArgErr);
  1375.         
  1376.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  1377.             ClusterNames __RPC_FAR * This,
  1378.             /* [retval][out] */ LONG __RPC_FAR *pnCount);
  1379.         
  1380.         /* [helpstring][id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
  1381.             ClusterNames __RPC_FAR * This,
  1382.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *retval);
  1383.         
  1384.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  1385.             ClusterNames __RPC_FAR * This);
  1386.         
  1387.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
  1388.             ClusterNames __RPC_FAR * This,
  1389.             /* [in] */ LONG nIndex,
  1390.             /* [retval][out] */ BSTR __RPC_FAR *pbstrClusterName);
  1391.         
  1392.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DomainName )( 
  1393.             ClusterNames __RPC_FAR * This,
  1394.             /* [retval][out] */ BSTR __RPC_FAR *pbstrDomainName);
  1395.         
  1396.         END_INTERFACE
  1397.     } ClusterNamesVtbl;
  1398.  
  1399.     interface ClusterNames
  1400.     {
  1401.         CONST_VTBL struct ClusterNamesVtbl __RPC_FAR *lpVtbl;
  1402.     };
  1403.  
  1404.     
  1405.  
  1406. #ifdef COBJMACROS
  1407.  
  1408.  
  1409. #define ClusterNames_QueryInterface(This,riid,ppvObject)    \
  1410.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1411.  
  1412. #define ClusterNames_AddRef(This)    \
  1413.     (This)->lpVtbl -> AddRef(This)
  1414.  
  1415. #define ClusterNames_Release(This)    \
  1416.     (This)->lpVtbl -> Release(This)
  1417.  
  1418.  
  1419. #define ClusterNames_GetTypeInfoCount(This,pctinfo)    \
  1420.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1421.  
  1422. #define ClusterNames_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  1423.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1424.  
  1425. #define ClusterNames_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  1426.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1427.  
  1428. #define ClusterNames_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  1429.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1430.  
  1431.  
  1432. #define ClusterNames_get_Count(This,pnCount)    \
  1433.     (This)->lpVtbl -> get_Count(This,pnCount)
  1434.  
  1435. #define ClusterNames_get__NewEnum(This,retval)    \
  1436.     (This)->lpVtbl -> get__NewEnum(This,retval)
  1437.  
  1438. #define ClusterNames_Refresh(This)    \
  1439.     (This)->lpVtbl -> Refresh(This)
  1440.  
  1441.  
  1442. #define ClusterNames_get_Item(This,nIndex,pbstrClusterName)    \
  1443.     (This)->lpVtbl -> get_Item(This,nIndex,pbstrClusterName)
  1444.  
  1445. #define ClusterNames_get_DomainName(This,pbstrDomainName)    \
  1446.     (This)->lpVtbl -> get_DomainName(This,pbstrDomainName)
  1447.  
  1448. #endif /* COBJMACROS */
  1449.  
  1450.  
  1451. #endif     /* C style interface */
  1452.  
  1453.  
  1454.  
  1455. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ClusterNames_get_Item_Proxy( 
  1456.     ClusterNames __RPC_FAR * This,
  1457.     /* [in] */ LONG nIndex,
  1458.     /* [retval][out] */ BSTR __RPC_FAR *pbstrClusterName);
  1459.  
  1460.  
  1461. void __RPC_STUB ClusterNames_get_Item_Stub(
  1462.     IRpcStubBuffer *This,
  1463.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1464.     PRPC_MESSAGE _pRpcMessage,
  1465.     DWORD *_pdwStubPhase);
  1466.  
  1467.  
  1468. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusterNames_get_DomainName_Proxy( 
  1469.     ClusterNames __RPC_FAR * This,
  1470.     /* [retval][out] */ BSTR __RPC_FAR *pbstrDomainName);
  1471.  
  1472.  
  1473. void __RPC_STUB ClusterNames_get_DomainName_Stub(
  1474.     IRpcStubBuffer *This,
  1475.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1476.     PRPC_MESSAGE _pRpcMessage,
  1477.     DWORD *_pdwStubPhase);
  1478.  
  1479.  
  1480.  
  1481. #endif     /* __ClusterNames_INTERFACE_DEFINED__ */
  1482.  
  1483.  
  1484. #ifndef __ClusRefObject_INTERFACE_DEFINED__
  1485. #define __ClusRefObject_INTERFACE_DEFINED__
  1486.  
  1487. /****************************************
  1488.  * Generated header for interface: ClusRefObject
  1489.  * at Wed Sep 17 12:03:32 1997
  1490.  * using MIDL 3.00.44
  1491.  ****************************************/
  1492. /* [unique][hidden][helpstring][dual][uuid][object] */ 
  1493.  
  1494.  
  1495.  
  1496. EXTERN_C const IID IID_ClusRefObject;
  1497.  
  1498. #if defined(__cplusplus) && !defined(CINTERFACE)
  1499.     
  1500.     interface ClusRefObject : public IDispatch
  1501.     {
  1502.     public:
  1503.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Handle( 
  1504.             /* [retval][out] */ LONG __RPC_FAR *phandle) = 0;
  1505.         
  1506.     };
  1507.     
  1508. #else     /* C style interface */
  1509.  
  1510.     typedef struct ClusRefObjectVtbl
  1511.     {
  1512.         BEGIN_INTERFACE
  1513.         
  1514.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1515.             ClusRefObject __RPC_FAR * This,
  1516.             /* [in] */ REFIID riid,
  1517.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1518.         
  1519.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1520.             ClusRefObject __RPC_FAR * This);
  1521.         
  1522.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1523.             ClusRefObject __RPC_FAR * This);
  1524.         
  1525.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  1526.             ClusRefObject __RPC_FAR * This,
  1527.             /* [out] */ UINT __RPC_FAR *pctinfo);
  1528.         
  1529.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  1530.             ClusRefObject __RPC_FAR * This,
  1531.             /* [in] */ UINT iTInfo,
  1532.             /* [in] */ LCID lcid,
  1533.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1534.         
  1535.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  1536.             ClusRefObject __RPC_FAR * This,
  1537.             /* [in] */ REFIID riid,
  1538.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1539.             /* [in] */ UINT cNames,
  1540.             /* [in] */ LCID lcid,
  1541.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1542.         
  1543.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  1544.             ClusRefObject __RPC_FAR * This,
  1545.             /* [in] */ DISPID dispIdMember,
  1546.             /* [in] */ REFIID riid,
  1547.             /* [in] */ LCID lcid,
  1548.             /* [in] */ WORD wFlags,
  1549.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1550.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1551.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1552.             /* [out] */ UINT __RPC_FAR *puArgErr);
  1553.         
  1554.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
  1555.             ClusRefObject __RPC_FAR * This,
  1556.             /* [retval][out] */ LONG __RPC_FAR *phandle);
  1557.         
  1558.         END_INTERFACE
  1559.     } ClusRefObjectVtbl;
  1560.  
  1561.     interface ClusRefObject
  1562.     {
  1563.         CONST_VTBL struct ClusRefObjectVtbl __RPC_FAR *lpVtbl;
  1564.     };
  1565.  
  1566.     
  1567.  
  1568. #ifdef COBJMACROS
  1569.  
  1570.  
  1571. #define ClusRefObject_QueryInterface(This,riid,ppvObject)    \
  1572.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1573.  
  1574. #define ClusRefObject_AddRef(This)    \
  1575.     (This)->lpVtbl -> AddRef(This)
  1576.  
  1577. #define ClusRefObject_Release(This)    \
  1578.     (This)->lpVtbl -> Release(This)
  1579.  
  1580.  
  1581. #define ClusRefObject_GetTypeInfoCount(This,pctinfo)    \
  1582.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1583.  
  1584. #define ClusRefObject_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  1585.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1586.  
  1587. #define ClusRefObject_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  1588.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1589.  
  1590. #define ClusRefObject_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  1591.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1592.  
  1593.  
  1594. #define ClusRefObject_get_Handle(This,phandle)    \
  1595.     (This)->lpVtbl -> get_Handle(This,phandle)
  1596.  
  1597. #endif /* COBJMACROS */
  1598.  
  1599.  
  1600. #endif     /* C style interface */
  1601.  
  1602.  
  1603.  
  1604. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusRefObject_get_Handle_Proxy( 
  1605.     ClusRefObject __RPC_FAR * This,
  1606.     /* [retval][out] */ LONG __RPC_FAR *phandle);
  1607.  
  1608.  
  1609. void __RPC_STUB ClusRefObject_get_Handle_Stub(
  1610.     IRpcStubBuffer *This,
  1611.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1612.     PRPC_MESSAGE _pRpcMessage,
  1613.     DWORD *_pdwStubPhase);
  1614.  
  1615.  
  1616.  
  1617. #endif     /* __ClusRefObject_INTERFACE_DEFINED__ */
  1618.  
  1619.  
  1620. #ifndef __ClusObj_INTERFACE_DEFINED__
  1621. #define __ClusObj_INTERFACE_DEFINED__
  1622.  
  1623. /****************************************
  1624.  * Generated header for interface: ClusObj
  1625.  * at Wed Sep 17 12:03:32 1997
  1626.  * using MIDL 3.00.44
  1627.  ****************************************/
  1628. /* [unique][helpstring][dual][uuid][object] */ 
  1629.  
  1630.  
  1631.  
  1632. EXTERN_C const IID IID_ClusObj;
  1633.  
  1634. #if defined(__cplusplus) && !defined(CINTERFACE)
  1635.     
  1636.     interface ClusObj : public IDispatch
  1637.     {
  1638.     public:
  1639.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  1640.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName) = 0;
  1641.         
  1642.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CommonProperties( 
  1643.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties) = 0;
  1644.         
  1645.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PrivateProperties( 
  1646.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties) = 0;
  1647.         
  1648.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CommonROProperties( 
  1649.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties) = 0;
  1650.         
  1651.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PrivateROProperties( 
  1652.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties) = 0;
  1653.         
  1654.     };
  1655.     
  1656. #else     /* C style interface */
  1657.  
  1658.     typedef struct ClusObjVtbl
  1659.     {
  1660.         BEGIN_INTERFACE
  1661.         
  1662.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1663.             ClusObj __RPC_FAR * This,
  1664.             /* [in] */ REFIID riid,
  1665.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1666.         
  1667.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1668.             ClusObj __RPC_FAR * This);
  1669.         
  1670.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1671.             ClusObj __RPC_FAR * This);
  1672.         
  1673.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  1674.             ClusObj __RPC_FAR * This,
  1675.             /* [out] */ UINT __RPC_FAR *pctinfo);
  1676.         
  1677.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  1678.             ClusObj __RPC_FAR * This,
  1679.             /* [in] */ UINT iTInfo,
  1680.             /* [in] */ LCID lcid,
  1681.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1682.         
  1683.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  1684.             ClusObj __RPC_FAR * This,
  1685.             /* [in] */ REFIID riid,
  1686.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1687.             /* [in] */ UINT cNames,
  1688.             /* [in] */ LCID lcid,
  1689.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1690.         
  1691.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  1692.             ClusObj __RPC_FAR * This,
  1693.             /* [in] */ DISPID dispIdMember,
  1694.             /* [in] */ REFIID riid,
  1695.             /* [in] */ LCID lcid,
  1696.             /* [in] */ WORD wFlags,
  1697.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1698.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1699.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1700.             /* [out] */ UINT __RPC_FAR *puArgErr);
  1701.         
  1702.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
  1703.             ClusObj __RPC_FAR * This,
  1704.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  1705.         
  1706.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CommonProperties )( 
  1707.             ClusObj __RPC_FAR * This,
  1708.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  1709.         
  1710.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PrivateProperties )( 
  1711.             ClusObj __RPC_FAR * This,
  1712.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  1713.         
  1714.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CommonROProperties )( 
  1715.             ClusObj __RPC_FAR * This,
  1716.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  1717.         
  1718.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PrivateROProperties )( 
  1719.             ClusObj __RPC_FAR * This,
  1720.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  1721.         
  1722.         END_INTERFACE
  1723.     } ClusObjVtbl;
  1724.  
  1725.     interface ClusObj
  1726.     {
  1727.         CONST_VTBL struct ClusObjVtbl __RPC_FAR *lpVtbl;
  1728.     };
  1729.  
  1730.     
  1731.  
  1732. #ifdef COBJMACROS
  1733.  
  1734.  
  1735. #define ClusObj_QueryInterface(This,riid,ppvObject)    \
  1736.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1737.  
  1738. #define ClusObj_AddRef(This)    \
  1739.     (This)->lpVtbl -> AddRef(This)
  1740.  
  1741. #define ClusObj_Release(This)    \
  1742.     (This)->lpVtbl -> Release(This)
  1743.  
  1744.  
  1745. #define ClusObj_GetTypeInfoCount(This,pctinfo)    \
  1746.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1747.  
  1748. #define ClusObj_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  1749.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1750.  
  1751. #define ClusObj_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  1752.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1753.  
  1754. #define ClusObj_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  1755.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1756.  
  1757.  
  1758. #define ClusObj_get_Name(This,pbstrName)    \
  1759.     (This)->lpVtbl -> get_Name(This,pbstrName)
  1760.  
  1761. #define ClusObj_get_CommonProperties(This,ppProperties)    \
  1762.     (This)->lpVtbl -> get_CommonProperties(This,ppProperties)
  1763.  
  1764. #define ClusObj_get_PrivateProperties(This,ppProperties)    \
  1765.     (This)->lpVtbl -> get_PrivateProperties(This,ppProperties)
  1766.  
  1767. #define ClusObj_get_CommonROProperties(This,ppProperties)    \
  1768.     (This)->lpVtbl -> get_CommonROProperties(This,ppProperties)
  1769.  
  1770. #define ClusObj_get_PrivateROProperties(This,ppProperties)    \
  1771.     (This)->lpVtbl -> get_PrivateROProperties(This,ppProperties)
  1772.  
  1773. #endif /* COBJMACROS */
  1774.  
  1775.  
  1776. #endif     /* C style interface */
  1777.  
  1778.  
  1779.  
  1780. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusObj_get_Name_Proxy( 
  1781.     ClusObj __RPC_FAR * This,
  1782.     /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  1783.  
  1784.  
  1785. void __RPC_STUB ClusObj_get_Name_Stub(
  1786.     IRpcStubBuffer *This,
  1787.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1788.     PRPC_MESSAGE _pRpcMessage,
  1789.     DWORD *_pdwStubPhase);
  1790.  
  1791.  
  1792. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusObj_get_CommonProperties_Proxy( 
  1793.     ClusObj __RPC_FAR * This,
  1794.     /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  1795.  
  1796.  
  1797. void __RPC_STUB ClusObj_get_CommonProperties_Stub(
  1798.     IRpcStubBuffer *This,
  1799.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1800.     PRPC_MESSAGE _pRpcMessage,
  1801.     DWORD *_pdwStubPhase);
  1802.  
  1803.  
  1804. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusObj_get_PrivateProperties_Proxy( 
  1805.     ClusObj __RPC_FAR * This,
  1806.     /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  1807.  
  1808.  
  1809. void __RPC_STUB ClusObj_get_PrivateProperties_Stub(
  1810.     IRpcStubBuffer *This,
  1811.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1812.     PRPC_MESSAGE _pRpcMessage,
  1813.     DWORD *_pdwStubPhase);
  1814.  
  1815.  
  1816. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusObj_get_CommonROProperties_Proxy( 
  1817.     ClusObj __RPC_FAR * This,
  1818.     /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  1819.  
  1820.  
  1821. void __RPC_STUB ClusObj_get_CommonROProperties_Stub(
  1822.     IRpcStubBuffer *This,
  1823.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1824.     PRPC_MESSAGE _pRpcMessage,
  1825.     DWORD *_pdwStubPhase);
  1826.  
  1827.  
  1828. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusObj_get_PrivateROProperties_Proxy( 
  1829.     ClusObj __RPC_FAR * This,
  1830.     /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  1831.  
  1832.  
  1833. void __RPC_STUB ClusObj_get_PrivateROProperties_Stub(
  1834.     IRpcStubBuffer *This,
  1835.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1836.     PRPC_MESSAGE _pRpcMessage,
  1837.     DWORD *_pdwStubPhase);
  1838.  
  1839.  
  1840.  
  1841. #endif     /* __ClusObj_INTERFACE_DEFINED__ */
  1842.  
  1843.  
  1844. #ifndef __ICluster_INTERFACE_DEFINED__
  1845. #define __ICluster_INTERFACE_DEFINED__
  1846.  
  1847. /****************************************
  1848.  * Generated header for interface: ICluster
  1849.  * at Wed Sep 17 12:03:32 1997
  1850.  * using MIDL 3.00.44
  1851.  ****************************************/
  1852. /* [unique][hidden][helpstring][dual][uuid][object] */ 
  1853.  
  1854.  
  1855.  
  1856. EXTERN_C const IID IID_ICluster;
  1857.  
  1858. #if defined(__cplusplus) && !defined(CINTERFACE)
  1859.     
  1860.     interface ICluster : public ClusObj
  1861.     {
  1862.     public:
  1863.         virtual /* [hidden][propget] */ HRESULT STDMETHODCALLTYPE get_Handle( 
  1864.             /* [retval][out] */ LONG __RPC_FAR *phandle) = 0;
  1865.         
  1866.         virtual HRESULT STDMETHODCALLTYPE Open( 
  1867.             /* [in] */ BSTR bstrClusterName) = 0;
  1868.         
  1869.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
  1870.             /* [in] */ BSTR bstrClusterName) = 0;
  1871.         
  1872.         virtual HRESULT STDMETHODCALLTYPE GetVersion( 
  1873.             /* [out] */ BSTR __RPC_FAR *pbstrClusterName,
  1874.             /* [out] */ SHORT __RPC_FAR *MajorVersion,
  1875.             /* [out] */ SHORT __RPC_FAR *MinorVersion,
  1876.             /* [out] */ SHORT __RPC_FAR *BuildNumber,
  1877.             /* [out] */ BSTR __RPC_FAR *pbstrVendorId,
  1878.             /* [out] */ BSTR __RPC_FAR *pbstrCSDVersion) = 0;
  1879.         
  1880.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_QuorumResource( 
  1881.             /* [in] */ ClusResource __RPC_FAR *pClusterResource) = 0;
  1882.         
  1883.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_QuorumResource( 
  1884.             /* [retval][out] */ ClusResource __RPC_FAR *__RPC_FAR *pClusterResource) = 0;
  1885.         
  1886.         virtual HRESULT STDMETHODCALLTYPE SetQuorumInfo( 
  1887.             /* [in] */ BSTR DevicePath,
  1888.             /* [in] */ LONG nLogSize) = 0;
  1889.         
  1890.         virtual HRESULT STDMETHODCALLTYPE GetQuorumInfo( 
  1891.             /* [out] */ BSTR __RPC_FAR *DevicePath,
  1892.             /* [out] */ LONG __RPC_FAR *pLogSize) = 0;
  1893.         
  1894.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Nodes( 
  1895.             /* [retval][out] */ ClusNodes __RPC_FAR *__RPC_FAR *ppClusterNodes) = 0;
  1896.         
  1897.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ResourceGroups( 
  1898.             /* [retval][out] */ ClusResGroups __RPC_FAR *__RPC_FAR *ppClusterResourceGroups) = 0;
  1899.         
  1900.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Resources( 
  1901.             /* [retval][out] */ ClusResources __RPC_FAR *__RPC_FAR *ppClusterResources) = 0;
  1902.         
  1903.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ResourceTypes( 
  1904.             /* [retval][out] */ ClusResTypes __RPC_FAR *__RPC_FAR *ppResourceTypes) = 0;
  1905.         
  1906.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Networks( 
  1907.             /* [retval][out] */ ClusNetworks __RPC_FAR *__RPC_FAR *ppNetworks) = 0;
  1908.         
  1909.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NetInterfaces( 
  1910.             /* [retval][out] */ ClusNetInterfaces __RPC_FAR *__RPC_FAR *ppNetInterfaces) = 0;
  1911.         
  1912.     };
  1913.     
  1914. #else     /* C style interface */
  1915.  
  1916.     typedef struct IClusterVtbl
  1917.     {
  1918.         BEGIN_INTERFACE
  1919.         
  1920.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1921.             ICluster __RPC_FAR * This,
  1922.             /* [in] */ REFIID riid,
  1923.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1924.         
  1925.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1926.             ICluster __RPC_FAR * This);
  1927.         
  1928.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1929.             ICluster __RPC_FAR * This);
  1930.         
  1931.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  1932.             ICluster __RPC_FAR * This,
  1933.             /* [out] */ UINT __RPC_FAR *pctinfo);
  1934.         
  1935.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  1936.             ICluster __RPC_FAR * This,
  1937.             /* [in] */ UINT iTInfo,
  1938.             /* [in] */ LCID lcid,
  1939.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1940.         
  1941.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  1942.             ICluster __RPC_FAR * This,
  1943.             /* [in] */ REFIID riid,
  1944.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1945.             /* [in] */ UINT cNames,
  1946.             /* [in] */ LCID lcid,
  1947.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1948.         
  1949.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  1950.             ICluster __RPC_FAR * This,
  1951.             /* [in] */ DISPID dispIdMember,
  1952.             /* [in] */ REFIID riid,
  1953.             /* [in] */ LCID lcid,
  1954.             /* [in] */ WORD wFlags,
  1955.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1956.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1957.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1958.             /* [out] */ UINT __RPC_FAR *puArgErr);
  1959.         
  1960.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
  1961.             ICluster __RPC_FAR * This,
  1962.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  1963.         
  1964.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CommonProperties )( 
  1965.             ICluster __RPC_FAR * This,
  1966.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  1967.         
  1968.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PrivateProperties )( 
  1969.             ICluster __RPC_FAR * This,
  1970.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  1971.         
  1972.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CommonROProperties )( 
  1973.             ICluster __RPC_FAR * This,
  1974.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  1975.         
  1976.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PrivateROProperties )( 
  1977.             ICluster __RPC_FAR * This,
  1978.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  1979.         
  1980.         /* [hidden][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
  1981.             ICluster __RPC_FAR * This,
  1982.             /* [retval][out] */ LONG __RPC_FAR *phandle);
  1983.         
  1984.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )( 
  1985.             ICluster __RPC_FAR * This,
  1986.             /* [in] */ BSTR bstrClusterName);
  1987.         
  1988.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
  1989.             ICluster __RPC_FAR * This,
  1990.             /* [in] */ BSTR bstrClusterName);
  1991.         
  1992.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetVersion )( 
  1993.             ICluster __RPC_FAR * This,
  1994.             /* [out] */ BSTR __RPC_FAR *pbstrClusterName,
  1995.             /* [out] */ SHORT __RPC_FAR *MajorVersion,
  1996.             /* [out] */ SHORT __RPC_FAR *MinorVersion,
  1997.             /* [out] */ SHORT __RPC_FAR *BuildNumber,
  1998.             /* [out] */ BSTR __RPC_FAR *pbstrVendorId,
  1999.             /* [out] */ BSTR __RPC_FAR *pbstrCSDVersion);
  2000.         
  2001.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_QuorumResource )( 
  2002.             ICluster __RPC_FAR * This,
  2003.             /* [in] */ ClusResource __RPC_FAR *pClusterResource);
  2004.         
  2005.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_QuorumResource )( 
  2006.             ICluster __RPC_FAR * This,
  2007.             /* [retval][out] */ ClusResource __RPC_FAR *__RPC_FAR *pClusterResource);
  2008.         
  2009.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetQuorumInfo )( 
  2010.             ICluster __RPC_FAR * This,
  2011.             /* [in] */ BSTR DevicePath,
  2012.             /* [in] */ LONG nLogSize);
  2013.         
  2014.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetQuorumInfo )( 
  2015.             ICluster __RPC_FAR * This,
  2016.             /* [out] */ BSTR __RPC_FAR *DevicePath,
  2017.             /* [out] */ LONG __RPC_FAR *pLogSize);
  2018.         
  2019.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Nodes )( 
  2020.             ICluster __RPC_FAR * This,
  2021.             /* [retval][out] */ ClusNodes __RPC_FAR *__RPC_FAR *ppClusterNodes);
  2022.         
  2023.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ResourceGroups )( 
  2024.             ICluster __RPC_FAR * This,
  2025.             /* [retval][out] */ ClusResGroups __RPC_FAR *__RPC_FAR *ppClusterResourceGroups);
  2026.         
  2027.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Resources )( 
  2028.             ICluster __RPC_FAR * This,
  2029.             /* [retval][out] */ ClusResources __RPC_FAR *__RPC_FAR *ppClusterResources);
  2030.         
  2031.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ResourceTypes )( 
  2032.             ICluster __RPC_FAR * This,
  2033.             /* [retval][out] */ ClusResTypes __RPC_FAR *__RPC_FAR *ppResourceTypes);
  2034.         
  2035.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Networks )( 
  2036.             ICluster __RPC_FAR * This,
  2037.             /* [retval][out] */ ClusNetworks __RPC_FAR *__RPC_FAR *ppNetworks);
  2038.         
  2039.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_NetInterfaces )( 
  2040.             ICluster __RPC_FAR * This,
  2041.             /* [retval][out] */ ClusNetInterfaces __RPC_FAR *__RPC_FAR *ppNetInterfaces);
  2042.         
  2043.         END_INTERFACE
  2044.     } IClusterVtbl;
  2045.  
  2046.     interface ICluster
  2047.     {
  2048.         CONST_VTBL struct IClusterVtbl __RPC_FAR *lpVtbl;
  2049.     };
  2050.  
  2051.     
  2052.  
  2053. #ifdef COBJMACROS
  2054.  
  2055.  
  2056. #define ICluster_QueryInterface(This,riid,ppvObject)    \
  2057.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2058.  
  2059. #define ICluster_AddRef(This)    \
  2060.     (This)->lpVtbl -> AddRef(This)
  2061.  
  2062. #define ICluster_Release(This)    \
  2063.     (This)->lpVtbl -> Release(This)
  2064.  
  2065.  
  2066. #define ICluster_GetTypeInfoCount(This,pctinfo)    \
  2067.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2068.  
  2069. #define ICluster_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  2070.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2071.  
  2072. #define ICluster_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  2073.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2074.  
  2075. #define ICluster_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  2076.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2077.  
  2078.  
  2079. #define ICluster_get_Name(This,pbstrName)    \
  2080.     (This)->lpVtbl -> get_Name(This,pbstrName)
  2081.  
  2082. #define ICluster_get_CommonProperties(This,ppProperties)    \
  2083.     (This)->lpVtbl -> get_CommonProperties(This,ppProperties)
  2084.  
  2085. #define ICluster_get_PrivateProperties(This,ppProperties)    \
  2086.     (This)->lpVtbl -> get_PrivateProperties(This,ppProperties)
  2087.  
  2088. #define ICluster_get_CommonROProperties(This,ppProperties)    \
  2089.     (This)->lpVtbl -> get_CommonROProperties(This,ppProperties)
  2090.  
  2091. #define ICluster_get_PrivateROProperties(This,ppProperties)    \
  2092.     (This)->lpVtbl -> get_PrivateROProperties(This,ppProperties)
  2093.  
  2094.  
  2095. #define ICluster_get_Handle(This,phandle)    \
  2096.     (This)->lpVtbl -> get_Handle(This,phandle)
  2097.  
  2098. #define ICluster_Open(This,bstrClusterName)    \
  2099.     (This)->lpVtbl -> Open(This,bstrClusterName)
  2100.  
  2101. #define ICluster_put_Name(This,bstrClusterName)    \
  2102.     (This)->lpVtbl -> put_Name(This,bstrClusterName)
  2103.  
  2104. #define ICluster_GetVersion(This,pbstrClusterName,MajorVersion,MinorVersion,BuildNumber,pbstrVendorId,pbstrCSDVersion)    \
  2105.     (This)->lpVtbl -> GetVersion(This,pbstrClusterName,MajorVersion,MinorVersion,BuildNumber,pbstrVendorId,pbstrCSDVersion)
  2106.  
  2107. #define ICluster_put_QuorumResource(This,pClusterResource)    \
  2108.     (This)->lpVtbl -> put_QuorumResource(This,pClusterResource)
  2109.  
  2110. #define ICluster_get_QuorumResource(This,pClusterResource)    \
  2111.     (This)->lpVtbl -> get_QuorumResource(This,pClusterResource)
  2112.  
  2113. #define ICluster_SetQuorumInfo(This,DevicePath,nLogSize)    \
  2114.     (This)->lpVtbl -> SetQuorumInfo(This,DevicePath,nLogSize)
  2115.  
  2116. #define ICluster_GetQuorumInfo(This,DevicePath,pLogSize)    \
  2117.     (This)->lpVtbl -> GetQuorumInfo(This,DevicePath,pLogSize)
  2118.  
  2119. #define ICluster_get_Nodes(This,ppClusterNodes)    \
  2120.     (This)->lpVtbl -> get_Nodes(This,ppClusterNodes)
  2121.  
  2122. #define ICluster_get_ResourceGroups(This,ppClusterResourceGroups)    \
  2123.     (This)->lpVtbl -> get_ResourceGroups(This,ppClusterResourceGroups)
  2124.  
  2125. #define ICluster_get_Resources(This,ppClusterResources)    \
  2126.     (This)->lpVtbl -> get_Resources(This,ppClusterResources)
  2127.  
  2128. #define ICluster_get_ResourceTypes(This,ppResourceTypes)    \
  2129.     (This)->lpVtbl -> get_ResourceTypes(This,ppResourceTypes)
  2130.  
  2131. #define ICluster_get_Networks(This,ppNetworks)    \
  2132.     (This)->lpVtbl -> get_Networks(This,ppNetworks)
  2133.  
  2134. #define ICluster_get_NetInterfaces(This,ppNetInterfaces)    \
  2135.     (This)->lpVtbl -> get_NetInterfaces(This,ppNetInterfaces)
  2136.  
  2137. #endif /* COBJMACROS */
  2138.  
  2139.  
  2140. #endif     /* C style interface */
  2141.  
  2142.  
  2143.  
  2144. /* [hidden][propget] */ HRESULT STDMETHODCALLTYPE ICluster_get_Handle_Proxy( 
  2145.     ICluster __RPC_FAR * This,
  2146.     /* [retval][out] */ LONG __RPC_FAR *phandle);
  2147.  
  2148.  
  2149. void __RPC_STUB ICluster_get_Handle_Stub(
  2150.     IRpcStubBuffer *This,
  2151.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2152.     PRPC_MESSAGE _pRpcMessage,
  2153.     DWORD *_pdwStubPhase);
  2154.  
  2155.  
  2156. HRESULT STDMETHODCALLTYPE ICluster_Open_Proxy( 
  2157.     ICluster __RPC_FAR * This,
  2158.     /* [in] */ BSTR bstrClusterName);
  2159.  
  2160.  
  2161. void __RPC_STUB ICluster_Open_Stub(
  2162.     IRpcStubBuffer *This,
  2163.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2164.     PRPC_MESSAGE _pRpcMessage,
  2165.     DWORD *_pdwStubPhase);
  2166.  
  2167.  
  2168. /* [propput] */ HRESULT STDMETHODCALLTYPE ICluster_put_Name_Proxy( 
  2169.     ICluster __RPC_FAR * This,
  2170.     /* [in] */ BSTR bstrClusterName);
  2171.  
  2172.  
  2173. void __RPC_STUB ICluster_put_Name_Stub(
  2174.     IRpcStubBuffer *This,
  2175.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2176.     PRPC_MESSAGE _pRpcMessage,
  2177.     DWORD *_pdwStubPhase);
  2178.  
  2179.  
  2180. HRESULT STDMETHODCALLTYPE ICluster_GetVersion_Proxy( 
  2181.     ICluster __RPC_FAR * This,
  2182.     /* [out] */ BSTR __RPC_FAR *pbstrClusterName,
  2183.     /* [out] */ SHORT __RPC_FAR *MajorVersion,
  2184.     /* [out] */ SHORT __RPC_FAR *MinorVersion,
  2185.     /* [out] */ SHORT __RPC_FAR *BuildNumber,
  2186.     /* [out] */ BSTR __RPC_FAR *pbstrVendorId,
  2187.     /* [out] */ BSTR __RPC_FAR *pbstrCSDVersion);
  2188.  
  2189.  
  2190. void __RPC_STUB ICluster_GetVersion_Stub(
  2191.     IRpcStubBuffer *This,
  2192.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2193.     PRPC_MESSAGE _pRpcMessage,
  2194.     DWORD *_pdwStubPhase);
  2195.  
  2196.  
  2197. /* [propput] */ HRESULT STDMETHODCALLTYPE ICluster_put_QuorumResource_Proxy( 
  2198.     ICluster __RPC_FAR * This,
  2199.     /* [in] */ ClusResource __RPC_FAR *pClusterResource);
  2200.  
  2201.  
  2202. void __RPC_STUB ICluster_put_QuorumResource_Stub(
  2203.     IRpcStubBuffer *This,
  2204.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2205.     PRPC_MESSAGE _pRpcMessage,
  2206.     DWORD *_pdwStubPhase);
  2207.  
  2208.  
  2209. /* [propget] */ HRESULT STDMETHODCALLTYPE ICluster_get_QuorumResource_Proxy( 
  2210.     ICluster __RPC_FAR * This,
  2211.     /* [retval][out] */ ClusResource __RPC_FAR *__RPC_FAR *pClusterResource);
  2212.  
  2213.  
  2214. void __RPC_STUB ICluster_get_QuorumResource_Stub(
  2215.     IRpcStubBuffer *This,
  2216.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2217.     PRPC_MESSAGE _pRpcMessage,
  2218.     DWORD *_pdwStubPhase);
  2219.  
  2220.  
  2221. HRESULT STDMETHODCALLTYPE ICluster_SetQuorumInfo_Proxy( 
  2222.     ICluster __RPC_FAR * This,
  2223.     /* [in] */ BSTR DevicePath,
  2224.     /* [in] */ LONG nLogSize);
  2225.  
  2226.  
  2227. void __RPC_STUB ICluster_SetQuorumInfo_Stub(
  2228.     IRpcStubBuffer *This,
  2229.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2230.     PRPC_MESSAGE _pRpcMessage,
  2231.     DWORD *_pdwStubPhase);
  2232.  
  2233.  
  2234. HRESULT STDMETHODCALLTYPE ICluster_GetQuorumInfo_Proxy( 
  2235.     ICluster __RPC_FAR * This,
  2236.     /* [out] */ BSTR __RPC_FAR *DevicePath,
  2237.     /* [out] */ LONG __RPC_FAR *pLogSize);
  2238.  
  2239.  
  2240. void __RPC_STUB ICluster_GetQuorumInfo_Stub(
  2241.     IRpcStubBuffer *This,
  2242.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2243.     PRPC_MESSAGE _pRpcMessage,
  2244.     DWORD *_pdwStubPhase);
  2245.  
  2246.  
  2247. /* [propget] */ HRESULT STDMETHODCALLTYPE ICluster_get_Nodes_Proxy( 
  2248.     ICluster __RPC_FAR * This,
  2249.     /* [retval][out] */ ClusNodes __RPC_FAR *__RPC_FAR *ppClusterNodes);
  2250.  
  2251.  
  2252. void __RPC_STUB ICluster_get_Nodes_Stub(
  2253.     IRpcStubBuffer *This,
  2254.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2255.     PRPC_MESSAGE _pRpcMessage,
  2256.     DWORD *_pdwStubPhase);
  2257.  
  2258.  
  2259. /* [propget] */ HRESULT STDMETHODCALLTYPE ICluster_get_ResourceGroups_Proxy( 
  2260.     ICluster __RPC_FAR * This,
  2261.     /* [retval][out] */ ClusResGroups __RPC_FAR *__RPC_FAR *ppClusterResourceGroups);
  2262.  
  2263.  
  2264. void __RPC_STUB ICluster_get_ResourceGroups_Stub(
  2265.     IRpcStubBuffer *This,
  2266.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2267.     PRPC_MESSAGE _pRpcMessage,
  2268.     DWORD *_pdwStubPhase);
  2269.  
  2270.  
  2271. /* [propget] */ HRESULT STDMETHODCALLTYPE ICluster_get_Resources_Proxy( 
  2272.     ICluster __RPC_FAR * This,
  2273.     /* [retval][out] */ ClusResources __RPC_FAR *__RPC_FAR *ppClusterResources);
  2274.  
  2275.  
  2276. void __RPC_STUB ICluster_get_Resources_Stub(
  2277.     IRpcStubBuffer *This,
  2278.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2279.     PRPC_MESSAGE _pRpcMessage,
  2280.     DWORD *_pdwStubPhase);
  2281.  
  2282.  
  2283. /* [propget] */ HRESULT STDMETHODCALLTYPE ICluster_get_ResourceTypes_Proxy( 
  2284.     ICluster __RPC_FAR * This,
  2285.     /* [retval][out] */ ClusResTypes __RPC_FAR *__RPC_FAR *ppResourceTypes);
  2286.  
  2287.  
  2288. void __RPC_STUB ICluster_get_ResourceTypes_Stub(
  2289.     IRpcStubBuffer *This,
  2290.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2291.     PRPC_MESSAGE _pRpcMessage,
  2292.     DWORD *_pdwStubPhase);
  2293.  
  2294.  
  2295. /* [propget] */ HRESULT STDMETHODCALLTYPE ICluster_get_Networks_Proxy( 
  2296.     ICluster __RPC_FAR * This,
  2297.     /* [retval][out] */ ClusNetworks __RPC_FAR *__RPC_FAR *ppNetworks);
  2298.  
  2299.  
  2300. void __RPC_STUB ICluster_get_Networks_Stub(
  2301.     IRpcStubBuffer *This,
  2302.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2303.     PRPC_MESSAGE _pRpcMessage,
  2304.     DWORD *_pdwStubPhase);
  2305.  
  2306.  
  2307. /* [propget] */ HRESULT STDMETHODCALLTYPE ICluster_get_NetInterfaces_Proxy( 
  2308.     ICluster __RPC_FAR * This,
  2309.     /* [retval][out] */ ClusNetInterfaces __RPC_FAR *__RPC_FAR *ppNetInterfaces);
  2310.  
  2311.  
  2312. void __RPC_STUB ICluster_get_NetInterfaces_Stub(
  2313.     IRpcStubBuffer *This,
  2314.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2315.     PRPC_MESSAGE _pRpcMessage,
  2316.     DWORD *_pdwStubPhase);
  2317.  
  2318.  
  2319.  
  2320. #endif     /* __ICluster_INTERFACE_DEFINED__ */
  2321.  
  2322.  
  2323. #ifndef __ClusNode_INTERFACE_DEFINED__
  2324. #define __ClusNode_INTERFACE_DEFINED__
  2325.  
  2326. /****************************************
  2327.  * Generated header for interface: ClusNode
  2328.  * at Wed Sep 17 12:03:32 1997
  2329.  * using MIDL 3.00.44
  2330.  ****************************************/
  2331. /* [unique][helpstring][dual][uuid][object] */ 
  2332.  
  2333.  
  2334.  
  2335. EXTERN_C const IID IID_ClusNode;
  2336.  
  2337. #if defined(__cplusplus) && !defined(CINTERFACE)
  2338.     
  2339.     interface ClusNode : public ClusObj
  2340.     {
  2341.     public:
  2342.         virtual /* [hidden][propget] */ HRESULT STDMETHODCALLTYPE get_Handle( 
  2343.             /* [retval][out] */ LONG __RPC_FAR *phandle) = 0;
  2344.         
  2345.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NodeID( 
  2346.             /* [retval][out] */ BSTR __RPC_FAR *pbstrNodeID) = 0;
  2347.         
  2348.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_State( 
  2349.             /* [retval][out] */ CLUSTER_NODE_STATE __RPC_FAR *dwState) = 0;
  2350.         
  2351.         virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
  2352.         
  2353.         virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
  2354.         
  2355.         virtual HRESULT STDMETHODCALLTYPE Evict( void) = 0;
  2356.         
  2357.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ResourceGroups( 
  2358.             /* [retval][out] */ ClusResGroups __RPC_FAR *__RPC_FAR *ppResourceGroups) = 0;
  2359.         
  2360.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Cluster( 
  2361.             /* [retval][out] */ ICluster __RPC_FAR *__RPC_FAR *ppCluster) = 0;
  2362.         
  2363.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NetInterfaces( 
  2364.             /* [retval][out] */ ClusNodeNetInterfaces __RPC_FAR *__RPC_FAR *ppClusNetInterfaces) = 0;
  2365.         
  2366.     };
  2367.     
  2368. #else     /* C style interface */
  2369.  
  2370.     typedef struct ClusNodeVtbl
  2371.     {
  2372.         BEGIN_INTERFACE
  2373.         
  2374.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2375.             ClusNode __RPC_FAR * This,
  2376.             /* [in] */ REFIID riid,
  2377.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2378.         
  2379.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2380.             ClusNode __RPC_FAR * This);
  2381.         
  2382.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2383.             ClusNode __RPC_FAR * This);
  2384.         
  2385.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  2386.             ClusNode __RPC_FAR * This,
  2387.             /* [out] */ UINT __RPC_FAR *pctinfo);
  2388.         
  2389.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  2390.             ClusNode __RPC_FAR * This,
  2391.             /* [in] */ UINT iTInfo,
  2392.             /* [in] */ LCID lcid,
  2393.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  2394.         
  2395.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  2396.             ClusNode __RPC_FAR * This,
  2397.             /* [in] */ REFIID riid,
  2398.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  2399.             /* [in] */ UINT cNames,
  2400.             /* [in] */ LCID lcid,
  2401.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  2402.         
  2403.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  2404.             ClusNode __RPC_FAR * This,
  2405.             /* [in] */ DISPID dispIdMember,
  2406.             /* [in] */ REFIID riid,
  2407.             /* [in] */ LCID lcid,
  2408.             /* [in] */ WORD wFlags,
  2409.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  2410.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  2411.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  2412.             /* [out] */ UINT __RPC_FAR *puArgErr);
  2413.         
  2414.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
  2415.             ClusNode __RPC_FAR * This,
  2416.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  2417.         
  2418.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CommonProperties )( 
  2419.             ClusNode __RPC_FAR * This,
  2420.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  2421.         
  2422.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PrivateProperties )( 
  2423.             ClusNode __RPC_FAR * This,
  2424.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  2425.         
  2426.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CommonROProperties )( 
  2427.             ClusNode __RPC_FAR * This,
  2428.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  2429.         
  2430.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PrivateROProperties )( 
  2431.             ClusNode __RPC_FAR * This,
  2432.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  2433.         
  2434.         /* [hidden][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
  2435.             ClusNode __RPC_FAR * This,
  2436.             /* [retval][out] */ LONG __RPC_FAR *phandle);
  2437.         
  2438.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_NodeID )( 
  2439.             ClusNode __RPC_FAR * This,
  2440.             /* [retval][out] */ BSTR __RPC_FAR *pbstrNodeID);
  2441.         
  2442.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_State )( 
  2443.             ClusNode __RPC_FAR * This,
  2444.             /* [retval][out] */ CLUSTER_NODE_STATE __RPC_FAR *dwState);
  2445.         
  2446.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Pause )( 
  2447.             ClusNode __RPC_FAR * This);
  2448.         
  2449.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Resume )( 
  2450.             ClusNode __RPC_FAR * This);
  2451.         
  2452.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Evict )( 
  2453.             ClusNode __RPC_FAR * This);
  2454.         
  2455.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ResourceGroups )( 
  2456.             ClusNode __RPC_FAR * This,
  2457.             /* [retval][out] */ ClusResGroups __RPC_FAR *__RPC_FAR *ppResourceGroups);
  2458.         
  2459.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Cluster )( 
  2460.             ClusNode __RPC_FAR * This,
  2461.             /* [retval][out] */ ICluster __RPC_FAR *__RPC_FAR *ppCluster);
  2462.         
  2463.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_NetInterfaces )( 
  2464.             ClusNode __RPC_FAR * This,
  2465.             /* [retval][out] */ ClusNodeNetInterfaces __RPC_FAR *__RPC_FAR *ppClusNetInterfaces);
  2466.         
  2467.         END_INTERFACE
  2468.     } ClusNodeVtbl;
  2469.  
  2470.     interface ClusNode
  2471.     {
  2472.         CONST_VTBL struct ClusNodeVtbl __RPC_FAR *lpVtbl;
  2473.     };
  2474.  
  2475.     
  2476.  
  2477. #ifdef COBJMACROS
  2478.  
  2479.  
  2480. #define ClusNode_QueryInterface(This,riid,ppvObject)    \
  2481.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2482.  
  2483. #define ClusNode_AddRef(This)    \
  2484.     (This)->lpVtbl -> AddRef(This)
  2485.  
  2486. #define ClusNode_Release(This)    \
  2487.     (This)->lpVtbl -> Release(This)
  2488.  
  2489.  
  2490. #define ClusNode_GetTypeInfoCount(This,pctinfo)    \
  2491.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2492.  
  2493. #define ClusNode_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  2494.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2495.  
  2496. #define ClusNode_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  2497.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2498.  
  2499. #define ClusNode_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  2500.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2501.  
  2502.  
  2503. #define ClusNode_get_Name(This,pbstrName)    \
  2504.     (This)->lpVtbl -> get_Name(This,pbstrName)
  2505.  
  2506. #define ClusNode_get_CommonProperties(This,ppProperties)    \
  2507.     (This)->lpVtbl -> get_CommonProperties(This,ppProperties)
  2508.  
  2509. #define ClusNode_get_PrivateProperties(This,ppProperties)    \
  2510.     (This)->lpVtbl -> get_PrivateProperties(This,ppProperties)
  2511.  
  2512. #define ClusNode_get_CommonROProperties(This,ppProperties)    \
  2513.     (This)->lpVtbl -> get_CommonROProperties(This,ppProperties)
  2514.  
  2515. #define ClusNode_get_PrivateROProperties(This,ppProperties)    \
  2516.     (This)->lpVtbl -> get_PrivateROProperties(This,ppProperties)
  2517.  
  2518.  
  2519. #define ClusNode_get_Handle(This,phandle)    \
  2520.     (This)->lpVtbl -> get_Handle(This,phandle)
  2521.  
  2522. #define ClusNode_get_NodeID(This,pbstrNodeID)    \
  2523.     (This)->lpVtbl -> get_NodeID(This,pbstrNodeID)
  2524.  
  2525. #define ClusNode_get_State(This,dwState)    \
  2526.     (This)->lpVtbl -> get_State(This,dwState)
  2527.  
  2528. #define ClusNode_Pause(This)    \
  2529.     (This)->lpVtbl -> Pause(This)
  2530.  
  2531. #define ClusNode_Resume(This)    \
  2532.     (This)->lpVtbl -> Resume(This)
  2533.  
  2534. #define ClusNode_Evict(This)    \
  2535.     (This)->lpVtbl -> Evict(This)
  2536.  
  2537. #define ClusNode_get_ResourceGroups(This,ppResourceGroups)    \
  2538.     (This)->lpVtbl -> get_ResourceGroups(This,ppResourceGroups)
  2539.  
  2540. #define ClusNode_get_Cluster(This,ppCluster)    \
  2541.     (This)->lpVtbl -> get_Cluster(This,ppCluster)
  2542.  
  2543. #define ClusNode_get_NetInterfaces(This,ppClusNetInterfaces)    \
  2544.     (This)->lpVtbl -> get_NetInterfaces(This,ppClusNetInterfaces)
  2545.  
  2546. #endif /* COBJMACROS */
  2547.  
  2548.  
  2549. #endif     /* C style interface */
  2550.  
  2551.  
  2552.  
  2553. /* [hidden][propget] */ HRESULT STDMETHODCALLTYPE ClusNode_get_Handle_Proxy( 
  2554.     ClusNode __RPC_FAR * This,
  2555.     /* [retval][out] */ LONG __RPC_FAR *phandle);
  2556.  
  2557.  
  2558. void __RPC_STUB ClusNode_get_Handle_Stub(
  2559.     IRpcStubBuffer *This,
  2560.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2561.     PRPC_MESSAGE _pRpcMessage,
  2562.     DWORD *_pdwStubPhase);
  2563.  
  2564.  
  2565. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusNode_get_NodeID_Proxy( 
  2566.     ClusNode __RPC_FAR * This,
  2567.     /* [retval][out] */ BSTR __RPC_FAR *pbstrNodeID);
  2568.  
  2569.  
  2570. void __RPC_STUB ClusNode_get_NodeID_Stub(
  2571.     IRpcStubBuffer *This,
  2572.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2573.     PRPC_MESSAGE _pRpcMessage,
  2574.     DWORD *_pdwStubPhase);
  2575.  
  2576.  
  2577. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusNode_get_State_Proxy( 
  2578.     ClusNode __RPC_FAR * This,
  2579.     /* [retval][out] */ CLUSTER_NODE_STATE __RPC_FAR *dwState);
  2580.  
  2581.  
  2582. void __RPC_STUB ClusNode_get_State_Stub(
  2583.     IRpcStubBuffer *This,
  2584.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2585.     PRPC_MESSAGE _pRpcMessage,
  2586.     DWORD *_pdwStubPhase);
  2587.  
  2588.  
  2589. HRESULT STDMETHODCALLTYPE ClusNode_Pause_Proxy( 
  2590.     ClusNode __RPC_FAR * This);
  2591.  
  2592.  
  2593. void __RPC_STUB ClusNode_Pause_Stub(
  2594.     IRpcStubBuffer *This,
  2595.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2596.     PRPC_MESSAGE _pRpcMessage,
  2597.     DWORD *_pdwStubPhase);
  2598.  
  2599.  
  2600. HRESULT STDMETHODCALLTYPE ClusNode_Resume_Proxy( 
  2601.     ClusNode __RPC_FAR * This);
  2602.  
  2603.  
  2604. void __RPC_STUB ClusNode_Resume_Stub(
  2605.     IRpcStubBuffer *This,
  2606.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2607.     PRPC_MESSAGE _pRpcMessage,
  2608.     DWORD *_pdwStubPhase);
  2609.  
  2610.  
  2611. HRESULT STDMETHODCALLTYPE ClusNode_Evict_Proxy( 
  2612.     ClusNode __RPC_FAR * This);
  2613.  
  2614.  
  2615. void __RPC_STUB ClusNode_Evict_Stub(
  2616.     IRpcStubBuffer *This,
  2617.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2618.     PRPC_MESSAGE _pRpcMessage,
  2619.     DWORD *_pdwStubPhase);
  2620.  
  2621.  
  2622. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusNode_get_ResourceGroups_Proxy( 
  2623.     ClusNode __RPC_FAR * This,
  2624.     /* [retval][out] */ ClusResGroups __RPC_FAR *__RPC_FAR *ppResourceGroups);
  2625.  
  2626.  
  2627. void __RPC_STUB ClusNode_get_ResourceGroups_Stub(
  2628.     IRpcStubBuffer *This,
  2629.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2630.     PRPC_MESSAGE _pRpcMessage,
  2631.     DWORD *_pdwStubPhase);
  2632.  
  2633.  
  2634. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusNode_get_Cluster_Proxy( 
  2635.     ClusNode __RPC_FAR * This,
  2636.     /* [retval][out] */ ICluster __RPC_FAR *__RPC_FAR *ppCluster);
  2637.  
  2638.  
  2639. void __RPC_STUB ClusNode_get_Cluster_Stub(
  2640.     IRpcStubBuffer *This,
  2641.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2642.     PRPC_MESSAGE _pRpcMessage,
  2643.     DWORD *_pdwStubPhase);
  2644.  
  2645.  
  2646. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusNode_get_NetInterfaces_Proxy( 
  2647.     ClusNode __RPC_FAR * This,
  2648.     /* [retval][out] */ ClusNodeNetInterfaces __RPC_FAR *__RPC_FAR *ppClusNetInterfaces);
  2649.  
  2650.  
  2651. void __RPC_STUB ClusNode_get_NetInterfaces_Stub(
  2652.     IRpcStubBuffer *This,
  2653.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2654.     PRPC_MESSAGE _pRpcMessage,
  2655.     DWORD *_pdwStubPhase);
  2656.  
  2657.  
  2658.  
  2659. #endif     /* __ClusNode_INTERFACE_DEFINED__ */
  2660.  
  2661.  
  2662. #ifndef __ClusNodes_INTERFACE_DEFINED__
  2663. #define __ClusNodes_INTERFACE_DEFINED__
  2664.  
  2665. /****************************************
  2666.  * Generated header for interface: ClusNodes
  2667.  * at Wed Sep 17 12:03:32 1997
  2668.  * using MIDL 3.00.44
  2669.  ****************************************/
  2670. /* [unique][helpstring][dual][uuid][object] */ 
  2671.  
  2672.  
  2673.  
  2674. EXTERN_C const IID IID_ClusNodes;
  2675.  
  2676. #if defined(__cplusplus) && !defined(CINTERFACE)
  2677.     
  2678.     interface ClusNodes : public ClusObjCollection
  2679.     {
  2680.     public:
  2681.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
  2682.             /* [in] */ VARIANT varIndex,
  2683.             /* [retval][out] */ ClusNode __RPC_FAR *__RPC_FAR *ppClusNode) = 0;
  2684.         
  2685.     };
  2686.     
  2687. #else     /* C style interface */
  2688.  
  2689.     typedef struct ClusNodesVtbl
  2690.     {
  2691.         BEGIN_INTERFACE
  2692.         
  2693.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2694.             ClusNodes __RPC_FAR * This,
  2695.             /* [in] */ REFIID riid,
  2696.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2697.         
  2698.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2699.             ClusNodes __RPC_FAR * This);
  2700.         
  2701.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2702.             ClusNodes __RPC_FAR * This);
  2703.         
  2704.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  2705.             ClusNodes __RPC_FAR * This,
  2706.             /* [out] */ UINT __RPC_FAR *pctinfo);
  2707.         
  2708.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  2709.             ClusNodes __RPC_FAR * This,
  2710.             /* [in] */ UINT iTInfo,
  2711.             /* [in] */ LCID lcid,
  2712.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  2713.         
  2714.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  2715.             ClusNodes __RPC_FAR * This,
  2716.             /* [in] */ REFIID riid,
  2717.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  2718.             /* [in] */ UINT cNames,
  2719.             /* [in] */ LCID lcid,
  2720.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  2721.         
  2722.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  2723.             ClusNodes __RPC_FAR * This,
  2724.             /* [in] */ DISPID dispIdMember,
  2725.             /* [in] */ REFIID riid,
  2726.             /* [in] */ LCID lcid,
  2727.             /* [in] */ WORD wFlags,
  2728.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  2729.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  2730.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  2731.             /* [out] */ UINT __RPC_FAR *puArgErr);
  2732.         
  2733.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  2734.             ClusNodes __RPC_FAR * This,
  2735.             /* [retval][out] */ LONG __RPC_FAR *pnCount);
  2736.         
  2737.         /* [helpstring][id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
  2738.             ClusNodes __RPC_FAR * This,
  2739.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *retval);
  2740.         
  2741.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  2742.             ClusNodes __RPC_FAR * This);
  2743.         
  2744.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
  2745.             ClusNodes __RPC_FAR * This,
  2746.             /* [in] */ VARIANT varIndex,
  2747.             /* [retval][out] */ ClusNode __RPC_FAR *__RPC_FAR *ppClusNode);
  2748.         
  2749.         END_INTERFACE
  2750.     } ClusNodesVtbl;
  2751.  
  2752.     interface ClusNodes
  2753.     {
  2754.         CONST_VTBL struct ClusNodesVtbl __RPC_FAR *lpVtbl;
  2755.     };
  2756.  
  2757.     
  2758.  
  2759. #ifdef COBJMACROS
  2760.  
  2761.  
  2762. #define ClusNodes_QueryInterface(This,riid,ppvObject)    \
  2763.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2764.  
  2765. #define ClusNodes_AddRef(This)    \
  2766.     (This)->lpVtbl -> AddRef(This)
  2767.  
  2768. #define ClusNodes_Release(This)    \
  2769.     (This)->lpVtbl -> Release(This)
  2770.  
  2771.  
  2772. #define ClusNodes_GetTypeInfoCount(This,pctinfo)    \
  2773.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2774.  
  2775. #define ClusNodes_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  2776.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2777.  
  2778. #define ClusNodes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  2779.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2780.  
  2781. #define ClusNodes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  2782.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2783.  
  2784.  
  2785. #define ClusNodes_get_Count(This,pnCount)    \
  2786.     (This)->lpVtbl -> get_Count(This,pnCount)
  2787.  
  2788. #define ClusNodes_get__NewEnum(This,retval)    \
  2789.     (This)->lpVtbl -> get__NewEnum(This,retval)
  2790.  
  2791. #define ClusNodes_Refresh(This)    \
  2792.     (This)->lpVtbl -> Refresh(This)
  2793.  
  2794.  
  2795. #define ClusNodes_get_Item(This,varIndex,ppClusNode)    \
  2796.     (This)->lpVtbl -> get_Item(This,varIndex,ppClusNode)
  2797.  
  2798. #endif /* COBJMACROS */
  2799.  
  2800.  
  2801. #endif     /* C style interface */
  2802.  
  2803.  
  2804.  
  2805. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ClusNodes_get_Item_Proxy( 
  2806.     ClusNodes __RPC_FAR * This,
  2807.     /* [in] */ VARIANT varIndex,
  2808.     /* [retval][out] */ ClusNode __RPC_FAR *__RPC_FAR *ppClusNode);
  2809.  
  2810.  
  2811. void __RPC_STUB ClusNodes_get_Item_Stub(
  2812.     IRpcStubBuffer *This,
  2813.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2814.     PRPC_MESSAGE _pRpcMessage,
  2815.     DWORD *_pdwStubPhase);
  2816.  
  2817.  
  2818.  
  2819. #endif     /* __ClusNodes_INTERFACE_DEFINED__ */
  2820.  
  2821.  
  2822. #ifndef __ClusNetwork_INTERFACE_DEFINED__
  2823. #define __ClusNetwork_INTERFACE_DEFINED__
  2824.  
  2825. /****************************************
  2826.  * Generated header for interface: ClusNetwork
  2827.  * at Wed Sep 17 12:03:32 1997
  2828.  * using MIDL 3.00.44
  2829.  ****************************************/
  2830. /* [unique][helpstring][dual][uuid][object] */ 
  2831.  
  2832.  
  2833.  
  2834. EXTERN_C const IID IID_ClusNetwork;
  2835.  
  2836. #if defined(__cplusplus) && !defined(CINTERFACE)
  2837.     
  2838.     interface ClusNetwork : public ClusObj
  2839.     {
  2840.     public:
  2841.         virtual /* [hidden][propget] */ HRESULT STDMETHODCALLTYPE get_Handle( 
  2842.             /* [retval][out] */ LONG __RPC_FAR *phandle) = 0;
  2843.         
  2844.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
  2845.             /* [in] */ BSTR bstrNetworkName) = 0;
  2846.         
  2847.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NetworkID( 
  2848.             /* [retval][out] */ BSTR __RPC_FAR *pbstrNetworkID) = 0;
  2849.         
  2850.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_State( 
  2851.             /* [retval][out] */ CLUSTER_NETWORK_STATE __RPC_FAR *dwState) = 0;
  2852.         
  2853.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NetInterfaces( 
  2854.             /* [retval][out] */ ClusNetworkNetInterfaces __RPC_FAR *__RPC_FAR *ppClusNetInterfaces) = 0;
  2855.         
  2856.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Cluster( 
  2857.             /* [retval][out] */ ICluster __RPC_FAR *__RPC_FAR *ppCluster) = 0;
  2858.         
  2859.     };
  2860.     
  2861. #else     /* C style interface */
  2862.  
  2863.     typedef struct ClusNetworkVtbl
  2864.     {
  2865.         BEGIN_INTERFACE
  2866.         
  2867.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2868.             ClusNetwork __RPC_FAR * This,
  2869.             /* [in] */ REFIID riid,
  2870.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2871.         
  2872.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2873.             ClusNetwork __RPC_FAR * This);
  2874.         
  2875.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2876.             ClusNetwork __RPC_FAR * This);
  2877.         
  2878.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  2879.             ClusNetwork __RPC_FAR * This,
  2880.             /* [out] */ UINT __RPC_FAR *pctinfo);
  2881.         
  2882.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  2883.             ClusNetwork __RPC_FAR * This,
  2884.             /* [in] */ UINT iTInfo,
  2885.             /* [in] */ LCID lcid,
  2886.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  2887.         
  2888.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  2889.             ClusNetwork __RPC_FAR * This,
  2890.             /* [in] */ REFIID riid,
  2891.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  2892.             /* [in] */ UINT cNames,
  2893.             /* [in] */ LCID lcid,
  2894.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  2895.         
  2896.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  2897.             ClusNetwork __RPC_FAR * This,
  2898.             /* [in] */ DISPID dispIdMember,
  2899.             /* [in] */ REFIID riid,
  2900.             /* [in] */ LCID lcid,
  2901.             /* [in] */ WORD wFlags,
  2902.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  2903.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  2904.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  2905.             /* [out] */ UINT __RPC_FAR *puArgErr);
  2906.         
  2907.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
  2908.             ClusNetwork __RPC_FAR * This,
  2909.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  2910.         
  2911.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CommonProperties )( 
  2912.             ClusNetwork __RPC_FAR * This,
  2913.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  2914.         
  2915.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PrivateProperties )( 
  2916.             ClusNetwork __RPC_FAR * This,
  2917.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  2918.         
  2919.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CommonROProperties )( 
  2920.             ClusNetwork __RPC_FAR * This,
  2921.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  2922.         
  2923.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PrivateROProperties )( 
  2924.             ClusNetwork __RPC_FAR * This,
  2925.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  2926.         
  2927.         /* [hidden][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
  2928.             ClusNetwork __RPC_FAR * This,
  2929.             /* [retval][out] */ LONG __RPC_FAR *phandle);
  2930.         
  2931.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
  2932.             ClusNetwork __RPC_FAR * This,
  2933.             /* [in] */ BSTR bstrNetworkName);
  2934.         
  2935.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_NetworkID )( 
  2936.             ClusNetwork __RPC_FAR * This,
  2937.             /* [retval][out] */ BSTR __RPC_FAR *pbstrNetworkID);
  2938.         
  2939.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_State )( 
  2940.             ClusNetwork __RPC_FAR * This,
  2941.             /* [retval][out] */ CLUSTER_NETWORK_STATE __RPC_FAR *dwState);
  2942.         
  2943.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_NetInterfaces )( 
  2944.             ClusNetwork __RPC_FAR * This,
  2945.             /* [retval][out] */ ClusNetworkNetInterfaces __RPC_FAR *__RPC_FAR *ppClusNetInterfaces);
  2946.         
  2947.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Cluster )( 
  2948.             ClusNetwork __RPC_FAR * This,
  2949.             /* [retval][out] */ ICluster __RPC_FAR *__RPC_FAR *ppCluster);
  2950.         
  2951.         END_INTERFACE
  2952.     } ClusNetworkVtbl;
  2953.  
  2954.     interface ClusNetwork
  2955.     {
  2956.         CONST_VTBL struct ClusNetworkVtbl __RPC_FAR *lpVtbl;
  2957.     };
  2958.  
  2959.     
  2960.  
  2961. #ifdef COBJMACROS
  2962.  
  2963.  
  2964. #define ClusNetwork_QueryInterface(This,riid,ppvObject)    \
  2965.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2966.  
  2967. #define ClusNetwork_AddRef(This)    \
  2968.     (This)->lpVtbl -> AddRef(This)
  2969.  
  2970. #define ClusNetwork_Release(This)    \
  2971.     (This)->lpVtbl -> Release(This)
  2972.  
  2973.  
  2974. #define ClusNetwork_GetTypeInfoCount(This,pctinfo)    \
  2975.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2976.  
  2977. #define ClusNetwork_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  2978.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2979.  
  2980. #define ClusNetwork_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  2981.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2982.  
  2983. #define ClusNetwork_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  2984.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2985.  
  2986.  
  2987. #define ClusNetwork_get_Name(This,pbstrName)    \
  2988.     (This)->lpVtbl -> get_Name(This,pbstrName)
  2989.  
  2990. #define ClusNetwork_get_CommonProperties(This,ppProperties)    \
  2991.     (This)->lpVtbl -> get_CommonProperties(This,ppProperties)
  2992.  
  2993. #define ClusNetwork_get_PrivateProperties(This,ppProperties)    \
  2994.     (This)->lpVtbl -> get_PrivateProperties(This,ppProperties)
  2995.  
  2996. #define ClusNetwork_get_CommonROProperties(This,ppProperties)    \
  2997.     (This)->lpVtbl -> get_CommonROProperties(This,ppProperties)
  2998.  
  2999. #define ClusNetwork_get_PrivateROProperties(This,ppProperties)    \
  3000.     (This)->lpVtbl -> get_PrivateROProperties(This,ppProperties)
  3001.  
  3002.  
  3003. #define ClusNetwork_get_Handle(This,phandle)    \
  3004.     (This)->lpVtbl -> get_Handle(This,phandle)
  3005.  
  3006. #define ClusNetwork_put_Name(This,bstrNetworkName)    \
  3007.     (This)->lpVtbl -> put_Name(This,bstrNetworkName)
  3008.  
  3009. #define ClusNetwork_get_NetworkID(This,pbstrNetworkID)    \
  3010.     (This)->lpVtbl -> get_NetworkID(This,pbstrNetworkID)
  3011.  
  3012. #define ClusNetwork_get_State(This,dwState)    \
  3013.     (This)->lpVtbl -> get_State(This,dwState)
  3014.  
  3015. #define ClusNetwork_get_NetInterfaces(This,ppClusNetInterfaces)    \
  3016.     (This)->lpVtbl -> get_NetInterfaces(This,ppClusNetInterfaces)
  3017.  
  3018. #define ClusNetwork_get_Cluster(This,ppCluster)    \
  3019.     (This)->lpVtbl -> get_Cluster(This,ppCluster)
  3020.  
  3021. #endif /* COBJMACROS */
  3022.  
  3023.  
  3024. #endif     /* C style interface */
  3025.  
  3026.  
  3027.  
  3028. /* [hidden][propget] */ HRESULT STDMETHODCALLTYPE ClusNetwork_get_Handle_Proxy( 
  3029.     ClusNetwork __RPC_FAR * This,
  3030.     /* [retval][out] */ LONG __RPC_FAR *phandle);
  3031.  
  3032.  
  3033. void __RPC_STUB ClusNetwork_get_Handle_Stub(
  3034.     IRpcStubBuffer *This,
  3035.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3036.     PRPC_MESSAGE _pRpcMessage,
  3037.     DWORD *_pdwStubPhase);
  3038.  
  3039.  
  3040. /* [propput] */ HRESULT STDMETHODCALLTYPE ClusNetwork_put_Name_Proxy( 
  3041.     ClusNetwork __RPC_FAR * This,
  3042.     /* [in] */ BSTR bstrNetworkName);
  3043.  
  3044.  
  3045. void __RPC_STUB ClusNetwork_put_Name_Stub(
  3046.     IRpcStubBuffer *This,
  3047.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3048.     PRPC_MESSAGE _pRpcMessage,
  3049.     DWORD *_pdwStubPhase);
  3050.  
  3051.  
  3052. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusNetwork_get_NetworkID_Proxy( 
  3053.     ClusNetwork __RPC_FAR * This,
  3054.     /* [retval][out] */ BSTR __RPC_FAR *pbstrNetworkID);
  3055.  
  3056.  
  3057. void __RPC_STUB ClusNetwork_get_NetworkID_Stub(
  3058.     IRpcStubBuffer *This,
  3059.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3060.     PRPC_MESSAGE _pRpcMessage,
  3061.     DWORD *_pdwStubPhase);
  3062.  
  3063.  
  3064. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusNetwork_get_State_Proxy( 
  3065.     ClusNetwork __RPC_FAR * This,
  3066.     /* [retval][out] */ CLUSTER_NETWORK_STATE __RPC_FAR *dwState);
  3067.  
  3068.  
  3069. void __RPC_STUB ClusNetwork_get_State_Stub(
  3070.     IRpcStubBuffer *This,
  3071.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3072.     PRPC_MESSAGE _pRpcMessage,
  3073.     DWORD *_pdwStubPhase);
  3074.  
  3075.  
  3076. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusNetwork_get_NetInterfaces_Proxy( 
  3077.     ClusNetwork __RPC_FAR * This,
  3078.     /* [retval][out] */ ClusNetworkNetInterfaces __RPC_FAR *__RPC_FAR *ppClusNetInterfaces);
  3079.  
  3080.  
  3081. void __RPC_STUB ClusNetwork_get_NetInterfaces_Stub(
  3082.     IRpcStubBuffer *This,
  3083.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3084.     PRPC_MESSAGE _pRpcMessage,
  3085.     DWORD *_pdwStubPhase);
  3086.  
  3087.  
  3088. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusNetwork_get_Cluster_Proxy( 
  3089.     ClusNetwork __RPC_FAR * This,
  3090.     /* [retval][out] */ ICluster __RPC_FAR *__RPC_FAR *ppCluster);
  3091.  
  3092.  
  3093. void __RPC_STUB ClusNetwork_get_Cluster_Stub(
  3094.     IRpcStubBuffer *This,
  3095.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3096.     PRPC_MESSAGE _pRpcMessage,
  3097.     DWORD *_pdwStubPhase);
  3098.  
  3099.  
  3100.  
  3101. #endif     /* __ClusNetwork_INTERFACE_DEFINED__ */
  3102.  
  3103.  
  3104. #ifndef __ClusNetworks_INTERFACE_DEFINED__
  3105. #define __ClusNetworks_INTERFACE_DEFINED__
  3106.  
  3107. /****************************************
  3108.  * Generated header for interface: ClusNetworks
  3109.  * at Wed Sep 17 12:03:32 1997
  3110.  * using MIDL 3.00.44
  3111.  ****************************************/
  3112. /* [unique][helpstring][dual][uuid][object] */ 
  3113.  
  3114.  
  3115.  
  3116. EXTERN_C const IID IID_ClusNetworks;
  3117.  
  3118. #if defined(__cplusplus) && !defined(CINTERFACE)
  3119.     
  3120.     interface ClusNetworks : public ClusObjCollection
  3121.     {
  3122.     public:
  3123.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
  3124.             /* [in] */ VARIANT varIndex,
  3125.             /* [retval][out] */ ClusNetwork __RPC_FAR *__RPC_FAR *ppClusNetwork) = 0;
  3126.         
  3127.     };
  3128.     
  3129. #else     /* C style interface */
  3130.  
  3131.     typedef struct ClusNetworksVtbl
  3132.     {
  3133.         BEGIN_INTERFACE
  3134.         
  3135.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3136.             ClusNetworks __RPC_FAR * This,
  3137.             /* [in] */ REFIID riid,
  3138.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3139.         
  3140.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3141.             ClusNetworks __RPC_FAR * This);
  3142.         
  3143.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3144.             ClusNetworks __RPC_FAR * This);
  3145.         
  3146.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  3147.             ClusNetworks __RPC_FAR * This,
  3148.             /* [out] */ UINT __RPC_FAR *pctinfo);
  3149.         
  3150.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  3151.             ClusNetworks __RPC_FAR * This,
  3152.             /* [in] */ UINT iTInfo,
  3153.             /* [in] */ LCID lcid,
  3154.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  3155.         
  3156.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  3157.             ClusNetworks __RPC_FAR * This,
  3158.             /* [in] */ REFIID riid,
  3159.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  3160.             /* [in] */ UINT cNames,
  3161.             /* [in] */ LCID lcid,
  3162.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  3163.         
  3164.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  3165.             ClusNetworks __RPC_FAR * This,
  3166.             /* [in] */ DISPID dispIdMember,
  3167.             /* [in] */ REFIID riid,
  3168.             /* [in] */ LCID lcid,
  3169.             /* [in] */ WORD wFlags,
  3170.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  3171.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  3172.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  3173.             /* [out] */ UINT __RPC_FAR *puArgErr);
  3174.         
  3175.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  3176.             ClusNetworks __RPC_FAR * This,
  3177.             /* [retval][out] */ LONG __RPC_FAR *pnCount);
  3178.         
  3179.         /* [helpstring][id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
  3180.             ClusNetworks __RPC_FAR * This,
  3181.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *retval);
  3182.         
  3183.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  3184.             ClusNetworks __RPC_FAR * This);
  3185.         
  3186.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
  3187.             ClusNetworks __RPC_FAR * This,
  3188.             /* [in] */ VARIANT varIndex,
  3189.             /* [retval][out] */ ClusNetwork __RPC_FAR *__RPC_FAR *ppClusNetwork);
  3190.         
  3191.         END_INTERFACE
  3192.     } ClusNetworksVtbl;
  3193.  
  3194.     interface ClusNetworks
  3195.     {
  3196.         CONST_VTBL struct ClusNetworksVtbl __RPC_FAR *lpVtbl;
  3197.     };
  3198.  
  3199.     
  3200.  
  3201. #ifdef COBJMACROS
  3202.  
  3203.  
  3204. #define ClusNetworks_QueryInterface(This,riid,ppvObject)    \
  3205.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3206.  
  3207. #define ClusNetworks_AddRef(This)    \
  3208.     (This)->lpVtbl -> AddRef(This)
  3209.  
  3210. #define ClusNetworks_Release(This)    \
  3211.     (This)->lpVtbl -> Release(This)
  3212.  
  3213.  
  3214. #define ClusNetworks_GetTypeInfoCount(This,pctinfo)    \
  3215.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  3216.  
  3217. #define ClusNetworks_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  3218.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3219.  
  3220. #define ClusNetworks_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  3221.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3222.  
  3223. #define ClusNetworks_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  3224.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3225.  
  3226.  
  3227. #define ClusNetworks_get_Count(This,pnCount)    \
  3228.     (This)->lpVtbl -> get_Count(This,pnCount)
  3229.  
  3230. #define ClusNetworks_get__NewEnum(This,retval)    \
  3231.     (This)->lpVtbl -> get__NewEnum(This,retval)
  3232.  
  3233. #define ClusNetworks_Refresh(This)    \
  3234.     (This)->lpVtbl -> Refresh(This)
  3235.  
  3236.  
  3237. #define ClusNetworks_get_Item(This,varIndex,ppClusNetwork)    \
  3238.     (This)->lpVtbl -> get_Item(This,varIndex,ppClusNetwork)
  3239.  
  3240. #endif /* COBJMACROS */
  3241.  
  3242.  
  3243. #endif     /* C style interface */
  3244.  
  3245.  
  3246.  
  3247. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ClusNetworks_get_Item_Proxy( 
  3248.     ClusNetworks __RPC_FAR * This,
  3249.     /* [in] */ VARIANT varIndex,
  3250.     /* [retval][out] */ ClusNetwork __RPC_FAR *__RPC_FAR *ppClusNetwork);
  3251.  
  3252.  
  3253. void __RPC_STUB ClusNetworks_get_Item_Stub(
  3254.     IRpcStubBuffer *This,
  3255.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3256.     PRPC_MESSAGE _pRpcMessage,
  3257.     DWORD *_pdwStubPhase);
  3258.  
  3259.  
  3260.  
  3261. #endif     /* __ClusNetworks_INTERFACE_DEFINED__ */
  3262.  
  3263.  
  3264. #ifndef __ClusNetInterface_INTERFACE_DEFINED__
  3265. #define __ClusNetInterface_INTERFACE_DEFINED__
  3266.  
  3267. /****************************************
  3268.  * Generated header for interface: ClusNetInterface
  3269.  * at Wed Sep 17 12:03:32 1997
  3270.  * using MIDL 3.00.44
  3271.  ****************************************/
  3272. /* [unique][helpstring][dual][uuid][object] */ 
  3273.  
  3274.  
  3275.  
  3276. EXTERN_C const IID IID_ClusNetInterface;
  3277.  
  3278. #if defined(__cplusplus) && !defined(CINTERFACE)
  3279.     
  3280.     interface ClusNetInterface : public ClusObj
  3281.     {
  3282.     public:
  3283.         virtual /* [hidden][propget] */ HRESULT STDMETHODCALLTYPE get_Handle( 
  3284.             /* [retval][out] */ LONG __RPC_FAR *phandle) = 0;
  3285.         
  3286.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_State( 
  3287.             /* [retval][out] */ CLUSTER_NETINTERFACE_STATE __RPC_FAR *dwState) = 0;
  3288.         
  3289.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Cluster( 
  3290.             /* [retval][out] */ ICluster __RPC_FAR *__RPC_FAR *ppCluster) = 0;
  3291.         
  3292.     };
  3293.     
  3294. #else     /* C style interface */
  3295.  
  3296.     typedef struct ClusNetInterfaceVtbl
  3297.     {
  3298.         BEGIN_INTERFACE
  3299.         
  3300.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3301.             ClusNetInterface __RPC_FAR * This,
  3302.             /* [in] */ REFIID riid,
  3303.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3304.         
  3305.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3306.             ClusNetInterface __RPC_FAR * This);
  3307.         
  3308.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3309.             ClusNetInterface __RPC_FAR * This);
  3310.         
  3311.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  3312.             ClusNetInterface __RPC_FAR * This,
  3313.             /* [out] */ UINT __RPC_FAR *pctinfo);
  3314.         
  3315.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  3316.             ClusNetInterface __RPC_FAR * This,
  3317.             /* [in] */ UINT iTInfo,
  3318.             /* [in] */ LCID lcid,
  3319.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  3320.         
  3321.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  3322.             ClusNetInterface __RPC_FAR * This,
  3323.             /* [in] */ REFIID riid,
  3324.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  3325.             /* [in] */ UINT cNames,
  3326.             /* [in] */ LCID lcid,
  3327.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  3328.         
  3329.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  3330.             ClusNetInterface __RPC_FAR * This,
  3331.             /* [in] */ DISPID dispIdMember,
  3332.             /* [in] */ REFIID riid,
  3333.             /* [in] */ LCID lcid,
  3334.             /* [in] */ WORD wFlags,
  3335.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  3336.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  3337.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  3338.             /* [out] */ UINT __RPC_FAR *puArgErr);
  3339.         
  3340.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
  3341.             ClusNetInterface __RPC_FAR * This,
  3342.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  3343.         
  3344.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CommonProperties )( 
  3345.             ClusNetInterface __RPC_FAR * This,
  3346.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  3347.         
  3348.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PrivateProperties )( 
  3349.             ClusNetInterface __RPC_FAR * This,
  3350.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  3351.         
  3352.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CommonROProperties )( 
  3353.             ClusNetInterface __RPC_FAR * This,
  3354.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  3355.         
  3356.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PrivateROProperties )( 
  3357.             ClusNetInterface __RPC_FAR * This,
  3358.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  3359.         
  3360.         /* [hidden][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
  3361.             ClusNetInterface __RPC_FAR * This,
  3362.             /* [retval][out] */ LONG __RPC_FAR *phandle);
  3363.         
  3364.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_State )( 
  3365.             ClusNetInterface __RPC_FAR * This,
  3366.             /* [retval][out] */ CLUSTER_NETINTERFACE_STATE __RPC_FAR *dwState);
  3367.         
  3368.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Cluster )( 
  3369.             ClusNetInterface __RPC_FAR * This,
  3370.             /* [retval][out] */ ICluster __RPC_FAR *__RPC_FAR *ppCluster);
  3371.         
  3372.         END_INTERFACE
  3373.     } ClusNetInterfaceVtbl;
  3374.  
  3375.     interface ClusNetInterface
  3376.     {
  3377.         CONST_VTBL struct ClusNetInterfaceVtbl __RPC_FAR *lpVtbl;
  3378.     };
  3379.  
  3380.     
  3381.  
  3382. #ifdef COBJMACROS
  3383.  
  3384.  
  3385. #define ClusNetInterface_QueryInterface(This,riid,ppvObject)    \
  3386.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3387.  
  3388. #define ClusNetInterface_AddRef(This)    \
  3389.     (This)->lpVtbl -> AddRef(This)
  3390.  
  3391. #define ClusNetInterface_Release(This)    \
  3392.     (This)->lpVtbl -> Release(This)
  3393.  
  3394.  
  3395. #define ClusNetInterface_GetTypeInfoCount(This,pctinfo)    \
  3396.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  3397.  
  3398. #define ClusNetInterface_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  3399.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3400.  
  3401. #define ClusNetInterface_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  3402.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3403.  
  3404. #define ClusNetInterface_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  3405.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3406.  
  3407.  
  3408. #define ClusNetInterface_get_Name(This,pbstrName)    \
  3409.     (This)->lpVtbl -> get_Name(This,pbstrName)
  3410.  
  3411. #define ClusNetInterface_get_CommonProperties(This,ppProperties)    \
  3412.     (This)->lpVtbl -> get_CommonProperties(This,ppProperties)
  3413.  
  3414. #define ClusNetInterface_get_PrivateProperties(This,ppProperties)    \
  3415.     (This)->lpVtbl -> get_PrivateProperties(This,ppProperties)
  3416.  
  3417. #define ClusNetInterface_get_CommonROProperties(This,ppProperties)    \
  3418.     (This)->lpVtbl -> get_CommonROProperties(This,ppProperties)
  3419.  
  3420. #define ClusNetInterface_get_PrivateROProperties(This,ppProperties)    \
  3421.     (This)->lpVtbl -> get_PrivateROProperties(This,ppProperties)
  3422.  
  3423.  
  3424. #define ClusNetInterface_get_Handle(This,phandle)    \
  3425.     (This)->lpVtbl -> get_Handle(This,phandle)
  3426.  
  3427. #define ClusNetInterface_get_State(This,dwState)    \
  3428.     (This)->lpVtbl -> get_State(This,dwState)
  3429.  
  3430. #define ClusNetInterface_get_Cluster(This,ppCluster)    \
  3431.     (This)->lpVtbl -> get_Cluster(This,ppCluster)
  3432.  
  3433. #endif /* COBJMACROS */
  3434.  
  3435.  
  3436. #endif     /* C style interface */
  3437.  
  3438.  
  3439.  
  3440. /* [hidden][propget] */ HRESULT STDMETHODCALLTYPE ClusNetInterface_get_Handle_Proxy( 
  3441.     ClusNetInterface __RPC_FAR * This,
  3442.     /* [retval][out] */ LONG __RPC_FAR *phandle);
  3443.  
  3444.  
  3445. void __RPC_STUB ClusNetInterface_get_Handle_Stub(
  3446.     IRpcStubBuffer *This,
  3447.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3448.     PRPC_MESSAGE _pRpcMessage,
  3449.     DWORD *_pdwStubPhase);
  3450.  
  3451.  
  3452. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusNetInterface_get_State_Proxy( 
  3453.     ClusNetInterface __RPC_FAR * This,
  3454.     /* [retval][out] */ CLUSTER_NETINTERFACE_STATE __RPC_FAR *dwState);
  3455.  
  3456.  
  3457. void __RPC_STUB ClusNetInterface_get_State_Stub(
  3458.     IRpcStubBuffer *This,
  3459.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3460.     PRPC_MESSAGE _pRpcMessage,
  3461.     DWORD *_pdwStubPhase);
  3462.  
  3463.  
  3464. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusNetInterface_get_Cluster_Proxy( 
  3465.     ClusNetInterface __RPC_FAR * This,
  3466.     /* [retval][out] */ ICluster __RPC_FAR *__RPC_FAR *ppCluster);
  3467.  
  3468.  
  3469. void __RPC_STUB ClusNetInterface_get_Cluster_Stub(
  3470.     IRpcStubBuffer *This,
  3471.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3472.     PRPC_MESSAGE _pRpcMessage,
  3473.     DWORD *_pdwStubPhase);
  3474.  
  3475.  
  3476.  
  3477. #endif     /* __ClusNetInterface_INTERFACE_DEFINED__ */
  3478.  
  3479.  
  3480. #ifndef __ClusNetInterfaces_INTERFACE_DEFINED__
  3481. #define __ClusNetInterfaces_INTERFACE_DEFINED__
  3482.  
  3483. /****************************************
  3484.  * Generated header for interface: ClusNetInterfaces
  3485.  * at Wed Sep 17 12:03:32 1997
  3486.  * using MIDL 3.00.44
  3487.  ****************************************/
  3488. /* [unique][helpstring][dual][uuid][object] */ 
  3489.  
  3490.  
  3491.  
  3492. EXTERN_C const IID IID_ClusNetInterfaces;
  3493.  
  3494. #if defined(__cplusplus) && !defined(CINTERFACE)
  3495.     
  3496.     interface ClusNetInterfaces : public ClusObjCollection
  3497.     {
  3498.     public:
  3499.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
  3500.             /* [in] */ VARIANT varIndex,
  3501.             /* [retval][out] */ ClusNetInterface __RPC_FAR *__RPC_FAR *ppClusNetInterface) = 0;
  3502.         
  3503.     };
  3504.     
  3505. #else     /* C style interface */
  3506.  
  3507.     typedef struct ClusNetInterfacesVtbl
  3508.     {
  3509.         BEGIN_INTERFACE
  3510.         
  3511.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3512.             ClusNetInterfaces __RPC_FAR * This,
  3513.             /* [in] */ REFIID riid,
  3514.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3515.         
  3516.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3517.             ClusNetInterfaces __RPC_FAR * This);
  3518.         
  3519.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3520.             ClusNetInterfaces __RPC_FAR * This);
  3521.         
  3522.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  3523.             ClusNetInterfaces __RPC_FAR * This,
  3524.             /* [out] */ UINT __RPC_FAR *pctinfo);
  3525.         
  3526.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  3527.             ClusNetInterfaces __RPC_FAR * This,
  3528.             /* [in] */ UINT iTInfo,
  3529.             /* [in] */ LCID lcid,
  3530.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  3531.         
  3532.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  3533.             ClusNetInterfaces __RPC_FAR * This,
  3534.             /* [in] */ REFIID riid,
  3535.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  3536.             /* [in] */ UINT cNames,
  3537.             /* [in] */ LCID lcid,
  3538.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  3539.         
  3540.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  3541.             ClusNetInterfaces __RPC_FAR * This,
  3542.             /* [in] */ DISPID dispIdMember,
  3543.             /* [in] */ REFIID riid,
  3544.             /* [in] */ LCID lcid,
  3545.             /* [in] */ WORD wFlags,
  3546.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  3547.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  3548.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  3549.             /* [out] */ UINT __RPC_FAR *puArgErr);
  3550.         
  3551.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  3552.             ClusNetInterfaces __RPC_FAR * This,
  3553.             /* [retval][out] */ LONG __RPC_FAR *pnCount);
  3554.         
  3555.         /* [helpstring][id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
  3556.             ClusNetInterfaces __RPC_FAR * This,
  3557.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *retval);
  3558.         
  3559.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  3560.             ClusNetInterfaces __RPC_FAR * This);
  3561.         
  3562.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
  3563.             ClusNetInterfaces __RPC_FAR * This,
  3564.             /* [in] */ VARIANT varIndex,
  3565.             /* [retval][out] */ ClusNetInterface __RPC_FAR *__RPC_FAR *ppClusNetInterface);
  3566.         
  3567.         END_INTERFACE
  3568.     } ClusNetInterfacesVtbl;
  3569.  
  3570.     interface ClusNetInterfaces
  3571.     {
  3572.         CONST_VTBL struct ClusNetInterfacesVtbl __RPC_FAR *lpVtbl;
  3573.     };
  3574.  
  3575.     
  3576.  
  3577. #ifdef COBJMACROS
  3578.  
  3579.  
  3580. #define ClusNetInterfaces_QueryInterface(This,riid,ppvObject)    \
  3581.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3582.  
  3583. #define ClusNetInterfaces_AddRef(This)    \
  3584.     (This)->lpVtbl -> AddRef(This)
  3585.  
  3586. #define ClusNetInterfaces_Release(This)    \
  3587.     (This)->lpVtbl -> Release(This)
  3588.  
  3589.  
  3590. #define ClusNetInterfaces_GetTypeInfoCount(This,pctinfo)    \
  3591.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  3592.  
  3593. #define ClusNetInterfaces_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  3594.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3595.  
  3596. #define ClusNetInterfaces_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  3597.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3598.  
  3599. #define ClusNetInterfaces_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  3600.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3601.  
  3602.  
  3603. #define ClusNetInterfaces_get_Count(This,pnCount)    \
  3604.     (This)->lpVtbl -> get_Count(This,pnCount)
  3605.  
  3606. #define ClusNetInterfaces_get__NewEnum(This,retval)    \
  3607.     (This)->lpVtbl -> get__NewEnum(This,retval)
  3608.  
  3609. #define ClusNetInterfaces_Refresh(This)    \
  3610.     (This)->lpVtbl -> Refresh(This)
  3611.  
  3612.  
  3613. #define ClusNetInterfaces_get_Item(This,varIndex,ppClusNetInterface)    \
  3614.     (This)->lpVtbl -> get_Item(This,varIndex,ppClusNetInterface)
  3615.  
  3616. #endif /* COBJMACROS */
  3617.  
  3618.  
  3619. #endif     /* C style interface */
  3620.  
  3621.  
  3622.  
  3623. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ClusNetInterfaces_get_Item_Proxy( 
  3624.     ClusNetInterfaces __RPC_FAR * This,
  3625.     /* [in] */ VARIANT varIndex,
  3626.     /* [retval][out] */ ClusNetInterface __RPC_FAR *__RPC_FAR *ppClusNetInterface);
  3627.  
  3628.  
  3629. void __RPC_STUB ClusNetInterfaces_get_Item_Stub(
  3630.     IRpcStubBuffer *This,
  3631.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3632.     PRPC_MESSAGE _pRpcMessage,
  3633.     DWORD *_pdwStubPhase);
  3634.  
  3635.  
  3636.  
  3637. #endif     /* __ClusNetInterfaces_INTERFACE_DEFINED__ */
  3638.  
  3639.  
  3640. #ifndef __ClusNodeNetInterfaces_INTERFACE_DEFINED__
  3641. #define __ClusNodeNetInterfaces_INTERFACE_DEFINED__
  3642.  
  3643. /****************************************
  3644.  * Generated header for interface: ClusNodeNetInterfaces
  3645.  * at Wed Sep 17 12:03:32 1997
  3646.  * using MIDL 3.00.44
  3647.  ****************************************/
  3648. /* [unique][helpstring][dual][uuid][object] */ 
  3649.  
  3650.  
  3651.  
  3652. EXTERN_C const IID IID_ClusNodeNetInterfaces;
  3653.  
  3654. #if defined(__cplusplus) && !defined(CINTERFACE)
  3655.     
  3656.     interface ClusNodeNetInterfaces : public ClusObjCollection
  3657.     {
  3658.     public:
  3659.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
  3660.             /* [in] */ VARIANT varIndex,
  3661.             /* [retval][out] */ ClusNetInterface __RPC_FAR *__RPC_FAR *ppClusNetInterface) = 0;
  3662.         
  3663.     };
  3664.     
  3665. #else     /* C style interface */
  3666.  
  3667.     typedef struct ClusNodeNetInterfacesVtbl
  3668.     {
  3669.         BEGIN_INTERFACE
  3670.         
  3671.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3672.             ClusNodeNetInterfaces __RPC_FAR * This,
  3673.             /* [in] */ REFIID riid,
  3674.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3675.         
  3676.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3677.             ClusNodeNetInterfaces __RPC_FAR * This);
  3678.         
  3679.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3680.             ClusNodeNetInterfaces __RPC_FAR * This);
  3681.         
  3682.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  3683.             ClusNodeNetInterfaces __RPC_FAR * This,
  3684.             /* [out] */ UINT __RPC_FAR *pctinfo);
  3685.         
  3686.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  3687.             ClusNodeNetInterfaces __RPC_FAR * This,
  3688.             /* [in] */ UINT iTInfo,
  3689.             /* [in] */ LCID lcid,
  3690.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  3691.         
  3692.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  3693.             ClusNodeNetInterfaces __RPC_FAR * This,
  3694.             /* [in] */ REFIID riid,
  3695.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  3696.             /* [in] */ UINT cNames,
  3697.             /* [in] */ LCID lcid,
  3698.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  3699.         
  3700.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  3701.             ClusNodeNetInterfaces __RPC_FAR * This,
  3702.             /* [in] */ DISPID dispIdMember,
  3703.             /* [in] */ REFIID riid,
  3704.             /* [in] */ LCID lcid,
  3705.             /* [in] */ WORD wFlags,
  3706.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  3707.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  3708.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  3709.             /* [out] */ UINT __RPC_FAR *puArgErr);
  3710.         
  3711.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  3712.             ClusNodeNetInterfaces __RPC_FAR * This,
  3713.             /* [retval][out] */ LONG __RPC_FAR *pnCount);
  3714.         
  3715.         /* [helpstring][id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
  3716.             ClusNodeNetInterfaces __RPC_FAR * This,
  3717.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *retval);
  3718.         
  3719.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  3720.             ClusNodeNetInterfaces __RPC_FAR * This);
  3721.         
  3722.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
  3723.             ClusNodeNetInterfaces __RPC_FAR * This,
  3724.             /* [in] */ VARIANT varIndex,
  3725.             /* [retval][out] */ ClusNetInterface __RPC_FAR *__RPC_FAR *ppClusNetInterface);
  3726.         
  3727.         END_INTERFACE
  3728.     } ClusNodeNetInterfacesVtbl;
  3729.  
  3730.     interface ClusNodeNetInterfaces
  3731.     {
  3732.         CONST_VTBL struct ClusNodeNetInterfacesVtbl __RPC_FAR *lpVtbl;
  3733.     };
  3734.  
  3735.     
  3736.  
  3737. #ifdef COBJMACROS
  3738.  
  3739.  
  3740. #define ClusNodeNetInterfaces_QueryInterface(This,riid,ppvObject)    \
  3741.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3742.  
  3743. #define ClusNodeNetInterfaces_AddRef(This)    \
  3744.     (This)->lpVtbl -> AddRef(This)
  3745.  
  3746. #define ClusNodeNetInterfaces_Release(This)    \
  3747.     (This)->lpVtbl -> Release(This)
  3748.  
  3749.  
  3750. #define ClusNodeNetInterfaces_GetTypeInfoCount(This,pctinfo)    \
  3751.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  3752.  
  3753. #define ClusNodeNetInterfaces_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  3754.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3755.  
  3756. #define ClusNodeNetInterfaces_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  3757.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3758.  
  3759. #define ClusNodeNetInterfaces_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  3760.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3761.  
  3762.  
  3763. #define ClusNodeNetInterfaces_get_Count(This,pnCount)    \
  3764.     (This)->lpVtbl -> get_Count(This,pnCount)
  3765.  
  3766. #define ClusNodeNetInterfaces_get__NewEnum(This,retval)    \
  3767.     (This)->lpVtbl -> get__NewEnum(This,retval)
  3768.  
  3769. #define ClusNodeNetInterfaces_Refresh(This)    \
  3770.     (This)->lpVtbl -> Refresh(This)
  3771.  
  3772.  
  3773. #define ClusNodeNetInterfaces_get_Item(This,varIndex,ppClusNetInterface)    \
  3774.     (This)->lpVtbl -> get_Item(This,varIndex,ppClusNetInterface)
  3775.  
  3776. #endif /* COBJMACROS */
  3777.  
  3778.  
  3779. #endif     /* C style interface */
  3780.  
  3781.  
  3782.  
  3783. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ClusNodeNetInterfaces_get_Item_Proxy( 
  3784.     ClusNodeNetInterfaces __RPC_FAR * This,
  3785.     /* [in] */ VARIANT varIndex,
  3786.     /* [retval][out] */ ClusNetInterface __RPC_FAR *__RPC_FAR *ppClusNetInterface);
  3787.  
  3788.  
  3789. void __RPC_STUB ClusNodeNetInterfaces_get_Item_Stub(
  3790.     IRpcStubBuffer *This,
  3791.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3792.     PRPC_MESSAGE _pRpcMessage,
  3793.     DWORD *_pdwStubPhase);
  3794.  
  3795.  
  3796.  
  3797. #endif     /* __ClusNodeNetInterfaces_INTERFACE_DEFINED__ */
  3798.  
  3799.  
  3800. #ifndef __ClusNetworkNetInterfaces_INTERFACE_DEFINED__
  3801. #define __ClusNetworkNetInterfaces_INTERFACE_DEFINED__
  3802.  
  3803. /****************************************
  3804.  * Generated header for interface: ClusNetworkNetInterfaces
  3805.  * at Wed Sep 17 12:03:32 1997
  3806.  * using MIDL 3.00.44
  3807.  ****************************************/
  3808. /* [unique][helpstring][dual][uuid][object] */ 
  3809.  
  3810.  
  3811.  
  3812. EXTERN_C const IID IID_ClusNetworkNetInterfaces;
  3813.  
  3814. #if defined(__cplusplus) && !defined(CINTERFACE)
  3815.     
  3816.     interface ClusNetworkNetInterfaces : public ClusObjCollection
  3817.     {
  3818.     public:
  3819.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
  3820.             /* [in] */ VARIANT varIndex,
  3821.             /* [retval][out] */ ClusNetInterface __RPC_FAR *__RPC_FAR *ppClusNetInterface) = 0;
  3822.         
  3823.     };
  3824.     
  3825. #else     /* C style interface */
  3826.  
  3827.     typedef struct ClusNetworkNetInterfacesVtbl
  3828.     {
  3829.         BEGIN_INTERFACE
  3830.         
  3831.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3832.             ClusNetworkNetInterfaces __RPC_FAR * This,
  3833.             /* [in] */ REFIID riid,
  3834.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3835.         
  3836.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3837.             ClusNetworkNetInterfaces __RPC_FAR * This);
  3838.         
  3839.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3840.             ClusNetworkNetInterfaces __RPC_FAR * This);
  3841.         
  3842.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  3843.             ClusNetworkNetInterfaces __RPC_FAR * This,
  3844.             /* [out] */ UINT __RPC_FAR *pctinfo);
  3845.         
  3846.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  3847.             ClusNetworkNetInterfaces __RPC_FAR * This,
  3848.             /* [in] */ UINT iTInfo,
  3849.             /* [in] */ LCID lcid,
  3850.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  3851.         
  3852.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  3853.             ClusNetworkNetInterfaces __RPC_FAR * This,
  3854.             /* [in] */ REFIID riid,
  3855.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  3856.             /* [in] */ UINT cNames,
  3857.             /* [in] */ LCID lcid,
  3858.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  3859.         
  3860.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  3861.             ClusNetworkNetInterfaces __RPC_FAR * This,
  3862.             /* [in] */ DISPID dispIdMember,
  3863.             /* [in] */ REFIID riid,
  3864.             /* [in] */ LCID lcid,
  3865.             /* [in] */ WORD wFlags,
  3866.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  3867.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  3868.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  3869.             /* [out] */ UINT __RPC_FAR *puArgErr);
  3870.         
  3871.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  3872.             ClusNetworkNetInterfaces __RPC_FAR * This,
  3873.             /* [retval][out] */ LONG __RPC_FAR *pnCount);
  3874.         
  3875.         /* [helpstring][id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
  3876.             ClusNetworkNetInterfaces __RPC_FAR * This,
  3877.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *retval);
  3878.         
  3879.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  3880.             ClusNetworkNetInterfaces __RPC_FAR * This);
  3881.         
  3882.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
  3883.             ClusNetworkNetInterfaces __RPC_FAR * This,
  3884.             /* [in] */ VARIANT varIndex,
  3885.             /* [retval][out] */ ClusNetInterface __RPC_FAR *__RPC_FAR *ppClusNetInterface);
  3886.         
  3887.         END_INTERFACE
  3888.     } ClusNetworkNetInterfacesVtbl;
  3889.  
  3890.     interface ClusNetworkNetInterfaces
  3891.     {
  3892.         CONST_VTBL struct ClusNetworkNetInterfacesVtbl __RPC_FAR *lpVtbl;
  3893.     };
  3894.  
  3895.     
  3896.  
  3897. #ifdef COBJMACROS
  3898.  
  3899.  
  3900. #define ClusNetworkNetInterfaces_QueryInterface(This,riid,ppvObject)    \
  3901.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3902.  
  3903. #define ClusNetworkNetInterfaces_AddRef(This)    \
  3904.     (This)->lpVtbl -> AddRef(This)
  3905.  
  3906. #define ClusNetworkNetInterfaces_Release(This)    \
  3907.     (This)->lpVtbl -> Release(This)
  3908.  
  3909.  
  3910. #define ClusNetworkNetInterfaces_GetTypeInfoCount(This,pctinfo)    \
  3911.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  3912.  
  3913. #define ClusNetworkNetInterfaces_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  3914.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3915.  
  3916. #define ClusNetworkNetInterfaces_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  3917.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3918.  
  3919. #define ClusNetworkNetInterfaces_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  3920.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3921.  
  3922.  
  3923. #define ClusNetworkNetInterfaces_get_Count(This,pnCount)    \
  3924.     (This)->lpVtbl -> get_Count(This,pnCount)
  3925.  
  3926. #define ClusNetworkNetInterfaces_get__NewEnum(This,retval)    \
  3927.     (This)->lpVtbl -> get__NewEnum(This,retval)
  3928.  
  3929. #define ClusNetworkNetInterfaces_Refresh(This)    \
  3930.     (This)->lpVtbl -> Refresh(This)
  3931.  
  3932.  
  3933. #define ClusNetworkNetInterfaces_get_Item(This,varIndex,ppClusNetInterface)    \
  3934.     (This)->lpVtbl -> get_Item(This,varIndex,ppClusNetInterface)
  3935.  
  3936. #endif /* COBJMACROS */
  3937.  
  3938.  
  3939. #endif     /* C style interface */
  3940.  
  3941.  
  3942.  
  3943. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ClusNetworkNetInterfaces_get_Item_Proxy( 
  3944.     ClusNetworkNetInterfaces __RPC_FAR * This,
  3945.     /* [in] */ VARIANT varIndex,
  3946.     /* [retval][out] */ ClusNetInterface __RPC_FAR *__RPC_FAR *ppClusNetInterface);
  3947.  
  3948.  
  3949. void __RPC_STUB ClusNetworkNetInterfaces_get_Item_Stub(
  3950.     IRpcStubBuffer *This,
  3951.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3952.     PRPC_MESSAGE _pRpcMessage,
  3953.     DWORD *_pdwStubPhase);
  3954.  
  3955.  
  3956.  
  3957. #endif     /* __ClusNetworkNetInterfaces_INTERFACE_DEFINED__ */
  3958.  
  3959.  
  3960. #ifndef __ClusResGroup_INTERFACE_DEFINED__
  3961. #define __ClusResGroup_INTERFACE_DEFINED__
  3962.  
  3963. /****************************************
  3964.  * Generated header for interface: ClusResGroup
  3965.  * at Wed Sep 17 12:03:32 1997
  3966.  * using MIDL 3.00.44
  3967.  ****************************************/
  3968. /* [unique][helpstring][dual][uuid][object] */ 
  3969.  
  3970.  
  3971.  
  3972. EXTERN_C const IID IID_ClusResGroup;
  3973.  
  3974. #if defined(__cplusplus) && !defined(CINTERFACE)
  3975.     
  3976.     interface ClusResGroup : public ClusObj
  3977.     {
  3978.     public:
  3979.         virtual /* [hidden][propget] */ HRESULT STDMETHODCALLTYPE get_Handle( 
  3980.             /* [retval][out] */ LONG __RPC_FAR *phandle) = 0;
  3981.         
  3982.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
  3983.             /* [in] */ BSTR bstrGroupName) = 0;
  3984.         
  3985.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_State( 
  3986.             /* [retval][out] */ CLUSTER_GROUP_STATE __RPC_FAR *dwState) = 0;
  3987.         
  3988.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OwnerNode( 
  3989.             /* [retval][out] */ ClusNode __RPC_FAR *__RPC_FAR *ppOwnerNode) = 0;
  3990.         
  3991.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Resources( 
  3992.             /* [retval][out] */ ClusGroupResources __RPC_FAR *__RPC_FAR *ppClusterGroupResources) = 0;
  3993.         
  3994.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PreferredOwnerNodes( 
  3995.             /* [retval][out] */ ClusGroupOwners __RPC_FAR *__RPC_FAR *ppOwnerNodes) = 0;
  3996.         
  3997.         virtual HRESULT STDMETHODCALLTYPE SetPreferredOwnerNodes( void) = 0;
  3998.         
  3999.         virtual HRESULT STDMETHODCALLTYPE Delete( void) = 0;
  4000.         
  4001.         virtual HRESULT STDMETHODCALLTYPE Online( 
  4002.             /* [in] */ LONG nTimeout,
  4003.             /* [optional][in] */ ClusNode __RPC_FAR *pDestinationNode,
  4004.             /* [retval][out] */ LONG __RPC_FAR *bPending) = 0;
  4005.         
  4006.         virtual HRESULT STDMETHODCALLTYPE Move( 
  4007.             /* [in] */ LONG nTimeout,
  4008.             /* [optional][in] */ ClusNode __RPC_FAR *pDestinationNode,
  4009.             /* [retval][out] */ LONG __RPC_FAR *bPending) = 0;
  4010.         
  4011.         virtual HRESULT STDMETHODCALLTYPE Offline( 
  4012.             /* [in] */ LONG nTimeout,
  4013.             /* [retval][out] */ LONG __RPC_FAR *bPending) = 0;
  4014.         
  4015.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Cluster( 
  4016.             /* [retval][out] */ ICluster __RPC_FAR *__RPC_FAR *ppCluster) = 0;
  4017.         
  4018.     };
  4019.     
  4020. #else     /* C style interface */
  4021.  
  4022.     typedef struct ClusResGroupVtbl
  4023.     {
  4024.         BEGIN_INTERFACE
  4025.         
  4026.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4027.             ClusResGroup __RPC_FAR * This,
  4028.             /* [in] */ REFIID riid,
  4029.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4030.         
  4031.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4032.             ClusResGroup __RPC_FAR * This);
  4033.         
  4034.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4035.             ClusResGroup __RPC_FAR * This);
  4036.         
  4037.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  4038.             ClusResGroup __RPC_FAR * This,
  4039.             /* [out] */ UINT __RPC_FAR *pctinfo);
  4040.         
  4041.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  4042.             ClusResGroup __RPC_FAR * This,
  4043.             /* [in] */ UINT iTInfo,
  4044.             /* [in] */ LCID lcid,
  4045.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  4046.         
  4047.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  4048.             ClusResGroup __RPC_FAR * This,
  4049.             /* [in] */ REFIID riid,
  4050.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  4051.             /* [in] */ UINT cNames,
  4052.             /* [in] */ LCID lcid,
  4053.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  4054.         
  4055.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  4056.             ClusResGroup __RPC_FAR * This,
  4057.             /* [in] */ DISPID dispIdMember,
  4058.             /* [in] */ REFIID riid,
  4059.             /* [in] */ LCID lcid,
  4060.             /* [in] */ WORD wFlags,
  4061.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  4062.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  4063.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  4064.             /* [out] */ UINT __RPC_FAR *puArgErr);
  4065.         
  4066.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
  4067.             ClusResGroup __RPC_FAR * This,
  4068.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  4069.         
  4070.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CommonProperties )( 
  4071.             ClusResGroup __RPC_FAR * This,
  4072.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  4073.         
  4074.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PrivateProperties )( 
  4075.             ClusResGroup __RPC_FAR * This,
  4076.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  4077.         
  4078.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CommonROProperties )( 
  4079.             ClusResGroup __RPC_FAR * This,
  4080.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  4081.         
  4082.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PrivateROProperties )( 
  4083.             ClusResGroup __RPC_FAR * This,
  4084.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  4085.         
  4086.         /* [hidden][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
  4087.             ClusResGroup __RPC_FAR * This,
  4088.             /* [retval][out] */ LONG __RPC_FAR *phandle);
  4089.         
  4090.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
  4091.             ClusResGroup __RPC_FAR * This,
  4092.             /* [in] */ BSTR bstrGroupName);
  4093.         
  4094.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_State )( 
  4095.             ClusResGroup __RPC_FAR * This,
  4096.             /* [retval][out] */ CLUSTER_GROUP_STATE __RPC_FAR *dwState);
  4097.         
  4098.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_OwnerNode )( 
  4099.             ClusResGroup __RPC_FAR * This,
  4100.             /* [retval][out] */ ClusNode __RPC_FAR *__RPC_FAR *ppOwnerNode);
  4101.         
  4102.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Resources )( 
  4103.             ClusResGroup __RPC_FAR * This,
  4104.             /* [retval][out] */ ClusGroupResources __RPC_FAR *__RPC_FAR *ppClusterGroupResources);
  4105.         
  4106.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PreferredOwnerNodes )( 
  4107.             ClusResGroup __RPC_FAR * This,
  4108.             /* [retval][out] */ ClusGroupOwners __RPC_FAR *__RPC_FAR *ppOwnerNodes);
  4109.         
  4110.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPreferredOwnerNodes )( 
  4111.             ClusResGroup __RPC_FAR * This);
  4112.         
  4113.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
  4114.             ClusResGroup __RPC_FAR * This);
  4115.         
  4116.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Online )( 
  4117.             ClusResGroup __RPC_FAR * This,
  4118.             /* [in] */ LONG nTimeout,
  4119.             /* [optional][in] */ ClusNode __RPC_FAR *pDestinationNode,
  4120.             /* [retval][out] */ LONG __RPC_FAR *bPending);
  4121.         
  4122.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
  4123.             ClusResGroup __RPC_FAR * This,
  4124.             /* [in] */ LONG nTimeout,
  4125.             /* [optional][in] */ ClusNode __RPC_FAR *pDestinationNode,
  4126.             /* [retval][out] */ LONG __RPC_FAR *bPending);
  4127.         
  4128.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Offline )( 
  4129.             ClusResGroup __RPC_FAR * This,
  4130.             /* [in] */ LONG nTimeout,
  4131.             /* [retval][out] */ LONG __RPC_FAR *bPending);
  4132.         
  4133.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Cluster )( 
  4134.             ClusResGroup __RPC_FAR * This,
  4135.             /* [retval][out] */ ICluster __RPC_FAR *__RPC_FAR *ppCluster);
  4136.         
  4137.         END_INTERFACE
  4138.     } ClusResGroupVtbl;
  4139.  
  4140.     interface ClusResGroup
  4141.     {
  4142.         CONST_VTBL struct ClusResGroupVtbl __RPC_FAR *lpVtbl;
  4143.     };
  4144.  
  4145.     
  4146.  
  4147. #ifdef COBJMACROS
  4148.  
  4149.  
  4150. #define ClusResGroup_QueryInterface(This,riid,ppvObject)    \
  4151.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4152.  
  4153. #define ClusResGroup_AddRef(This)    \
  4154.     (This)->lpVtbl -> AddRef(This)
  4155.  
  4156. #define ClusResGroup_Release(This)    \
  4157.     (This)->lpVtbl -> Release(This)
  4158.  
  4159.  
  4160. #define ClusResGroup_GetTypeInfoCount(This,pctinfo)    \
  4161.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  4162.  
  4163. #define ClusResGroup_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  4164.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4165.  
  4166. #define ClusResGroup_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  4167.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4168.  
  4169. #define ClusResGroup_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  4170.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4171.  
  4172.  
  4173. #define ClusResGroup_get_Name(This,pbstrName)    \
  4174.     (This)->lpVtbl -> get_Name(This,pbstrName)
  4175.  
  4176. #define ClusResGroup_get_CommonProperties(This,ppProperties)    \
  4177.     (This)->lpVtbl -> get_CommonProperties(This,ppProperties)
  4178.  
  4179. #define ClusResGroup_get_PrivateProperties(This,ppProperties)    \
  4180.     (This)->lpVtbl -> get_PrivateProperties(This,ppProperties)
  4181.  
  4182. #define ClusResGroup_get_CommonROProperties(This,ppProperties)    \
  4183.     (This)->lpVtbl -> get_CommonROProperties(This,ppProperties)
  4184.  
  4185. #define ClusResGroup_get_PrivateROProperties(This,ppProperties)    \
  4186.     (This)->lpVtbl -> get_PrivateROProperties(This,ppProperties)
  4187.  
  4188.  
  4189. #define ClusResGroup_get_Handle(This,phandle)    \
  4190.     (This)->lpVtbl -> get_Handle(This,phandle)
  4191.  
  4192. #define ClusResGroup_put_Name(This,bstrGroupName)    \
  4193.     (This)->lpVtbl -> put_Name(This,bstrGroupName)
  4194.  
  4195. #define ClusResGroup_get_State(This,dwState)    \
  4196.     (This)->lpVtbl -> get_State(This,dwState)
  4197.  
  4198. #define ClusResGroup_get_OwnerNode(This,ppOwnerNode)    \
  4199.     (This)->lpVtbl -> get_OwnerNode(This,ppOwnerNode)
  4200.  
  4201. #define ClusResGroup_get_Resources(This,ppClusterGroupResources)    \
  4202.     (This)->lpVtbl -> get_Resources(This,ppClusterGroupResources)
  4203.  
  4204. #define ClusResGroup_get_PreferredOwnerNodes(This,ppOwnerNodes)    \
  4205.     (This)->lpVtbl -> get_PreferredOwnerNodes(This,ppOwnerNodes)
  4206.  
  4207. #define ClusResGroup_SetPreferredOwnerNodes(This)    \
  4208.     (This)->lpVtbl -> SetPreferredOwnerNodes(This)
  4209.  
  4210. #define ClusResGroup_Delete(This)    \
  4211.     (This)->lpVtbl -> Delete(This)
  4212.  
  4213. #define ClusResGroup_Online(This,nTimeout,pDestinationNode,bPending)    \
  4214.     (This)->lpVtbl -> Online(This,nTimeout,pDestinationNode,bPending)
  4215.  
  4216. #define ClusResGroup_Move(This,nTimeout,pDestinationNode,bPending)    \
  4217.     (This)->lpVtbl -> Move(This,nTimeout,pDestinationNode,bPending)
  4218.  
  4219. #define ClusResGroup_Offline(This,nTimeout,bPending)    \
  4220.     (This)->lpVtbl -> Offline(This,nTimeout,bPending)
  4221.  
  4222. #define ClusResGroup_get_Cluster(This,ppCluster)    \
  4223.     (This)->lpVtbl -> get_Cluster(This,ppCluster)
  4224.  
  4225. #endif /* COBJMACROS */
  4226.  
  4227.  
  4228. #endif     /* C style interface */
  4229.  
  4230.  
  4231.  
  4232. /* [hidden][propget] */ HRESULT STDMETHODCALLTYPE ClusResGroup_get_Handle_Proxy( 
  4233.     ClusResGroup __RPC_FAR * This,
  4234.     /* [retval][out] */ LONG __RPC_FAR *phandle);
  4235.  
  4236.  
  4237. void __RPC_STUB ClusResGroup_get_Handle_Stub(
  4238.     IRpcStubBuffer *This,
  4239.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4240.     PRPC_MESSAGE _pRpcMessage,
  4241.     DWORD *_pdwStubPhase);
  4242.  
  4243.  
  4244. /* [propput] */ HRESULT STDMETHODCALLTYPE ClusResGroup_put_Name_Proxy( 
  4245.     ClusResGroup __RPC_FAR * This,
  4246.     /* [in] */ BSTR bstrGroupName);
  4247.  
  4248.  
  4249. void __RPC_STUB ClusResGroup_put_Name_Stub(
  4250.     IRpcStubBuffer *This,
  4251.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4252.     PRPC_MESSAGE _pRpcMessage,
  4253.     DWORD *_pdwStubPhase);
  4254.  
  4255.  
  4256. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusResGroup_get_State_Proxy( 
  4257.     ClusResGroup __RPC_FAR * This,
  4258.     /* [retval][out] */ CLUSTER_GROUP_STATE __RPC_FAR *dwState);
  4259.  
  4260.  
  4261. void __RPC_STUB ClusResGroup_get_State_Stub(
  4262.     IRpcStubBuffer *This,
  4263.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4264.     PRPC_MESSAGE _pRpcMessage,
  4265.     DWORD *_pdwStubPhase);
  4266.  
  4267.  
  4268. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusResGroup_get_OwnerNode_Proxy( 
  4269.     ClusResGroup __RPC_FAR * This,
  4270.     /* [retval][out] */ ClusNode __RPC_FAR *__RPC_FAR *ppOwnerNode);
  4271.  
  4272.  
  4273. void __RPC_STUB ClusResGroup_get_OwnerNode_Stub(
  4274.     IRpcStubBuffer *This,
  4275.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4276.     PRPC_MESSAGE _pRpcMessage,
  4277.     DWORD *_pdwStubPhase);
  4278.  
  4279.  
  4280. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusResGroup_get_Resources_Proxy( 
  4281.     ClusResGroup __RPC_FAR * This,
  4282.     /* [retval][out] */ ClusGroupResources __RPC_FAR *__RPC_FAR *ppClusterGroupResources);
  4283.  
  4284.  
  4285. void __RPC_STUB ClusResGroup_get_Resources_Stub(
  4286.     IRpcStubBuffer *This,
  4287.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4288.     PRPC_MESSAGE _pRpcMessage,
  4289.     DWORD *_pdwStubPhase);
  4290.  
  4291.  
  4292. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusResGroup_get_PreferredOwnerNodes_Proxy( 
  4293.     ClusResGroup __RPC_FAR * This,
  4294.     /* [retval][out] */ ClusGroupOwners __RPC_FAR *__RPC_FAR *ppOwnerNodes);
  4295.  
  4296.  
  4297. void __RPC_STUB ClusResGroup_get_PreferredOwnerNodes_Stub(
  4298.     IRpcStubBuffer *This,
  4299.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4300.     PRPC_MESSAGE _pRpcMessage,
  4301.     DWORD *_pdwStubPhase);
  4302.  
  4303.  
  4304. HRESULT STDMETHODCALLTYPE ClusResGroup_SetPreferredOwnerNodes_Proxy( 
  4305.     ClusResGroup __RPC_FAR * This);
  4306.  
  4307.  
  4308. void __RPC_STUB ClusResGroup_SetPreferredOwnerNodes_Stub(
  4309.     IRpcStubBuffer *This,
  4310.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4311.     PRPC_MESSAGE _pRpcMessage,
  4312.     DWORD *_pdwStubPhase);
  4313.  
  4314.  
  4315. HRESULT STDMETHODCALLTYPE ClusResGroup_Delete_Proxy( 
  4316.     ClusResGroup __RPC_FAR * This);
  4317.  
  4318.  
  4319. void __RPC_STUB ClusResGroup_Delete_Stub(
  4320.     IRpcStubBuffer *This,
  4321.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4322.     PRPC_MESSAGE _pRpcMessage,
  4323.     DWORD *_pdwStubPhase);
  4324.  
  4325.  
  4326. HRESULT STDMETHODCALLTYPE ClusResGroup_Online_Proxy( 
  4327.     ClusResGroup __RPC_FAR * This,
  4328.     /* [in] */ LONG nTimeout,
  4329.     /* [optional][in] */ ClusNode __RPC_FAR *pDestinationNode,
  4330.     /* [retval][out] */ LONG __RPC_FAR *bPending);
  4331.  
  4332.  
  4333. void __RPC_STUB ClusResGroup_Online_Stub(
  4334.     IRpcStubBuffer *This,
  4335.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4336.     PRPC_MESSAGE _pRpcMessage,
  4337.     DWORD *_pdwStubPhase);
  4338.  
  4339.  
  4340. HRESULT STDMETHODCALLTYPE ClusResGroup_Move_Proxy( 
  4341.     ClusResGroup __RPC_FAR * This,
  4342.     /* [in] */ LONG nTimeout,
  4343.     /* [optional][in] */ ClusNode __RPC_FAR *pDestinationNode,
  4344.     /* [retval][out] */ LONG __RPC_FAR *bPending);
  4345.  
  4346.  
  4347. void __RPC_STUB ClusResGroup_Move_Stub(
  4348.     IRpcStubBuffer *This,
  4349.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4350.     PRPC_MESSAGE _pRpcMessage,
  4351.     DWORD *_pdwStubPhase);
  4352.  
  4353.  
  4354. HRESULT STDMETHODCALLTYPE ClusResGroup_Offline_Proxy( 
  4355.     ClusResGroup __RPC_FAR * This,
  4356.     /* [in] */ LONG nTimeout,
  4357.     /* [retval][out] */ LONG __RPC_FAR *bPending);
  4358.  
  4359.  
  4360. void __RPC_STUB ClusResGroup_Offline_Stub(
  4361.     IRpcStubBuffer *This,
  4362.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4363.     PRPC_MESSAGE _pRpcMessage,
  4364.     DWORD *_pdwStubPhase);
  4365.  
  4366.  
  4367. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusResGroup_get_Cluster_Proxy( 
  4368.     ClusResGroup __RPC_FAR * This,
  4369.     /* [retval][out] */ ICluster __RPC_FAR *__RPC_FAR *ppCluster);
  4370.  
  4371.  
  4372. void __RPC_STUB ClusResGroup_get_Cluster_Stub(
  4373.     IRpcStubBuffer *This,
  4374.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4375.     PRPC_MESSAGE _pRpcMessage,
  4376.     DWORD *_pdwStubPhase);
  4377.  
  4378.  
  4379.  
  4380. #endif     /* __ClusResGroup_INTERFACE_DEFINED__ */
  4381.  
  4382.  
  4383. #ifndef __ClusResGroups_INTERFACE_DEFINED__
  4384. #define __ClusResGroups_INTERFACE_DEFINED__
  4385.  
  4386. /****************************************
  4387.  * Generated header for interface: ClusResGroups
  4388.  * at Wed Sep 17 12:03:32 1997
  4389.  * using MIDL 3.00.44
  4390.  ****************************************/
  4391. /* [unique][helpstring][dual][uuid][object] */ 
  4392.  
  4393.  
  4394.  
  4395. EXTERN_C const IID IID_ClusResGroups;
  4396.  
  4397. #if defined(__cplusplus) && !defined(CINTERFACE)
  4398.     
  4399.     interface ClusResGroups : public ClusObjCollection
  4400.     {
  4401.     public:
  4402.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
  4403.             /* [in] */ VARIANT varIndex,
  4404.             /* [retval][out] */ ClusResGroup __RPC_FAR *__RPC_FAR *ppClusResGroup) = 0;
  4405.         
  4406.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateItem( 
  4407.             /* [in] */ BSTR bstrResourceGroupName,
  4408.             /* [retval][out] */ ClusResGroup __RPC_FAR *__RPC_FAR *ppResourceGroup) = 0;
  4409.         
  4410.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DeleteItem( 
  4411.             /* [in] */ VARIANT varIndex) = 0;
  4412.         
  4413.     };
  4414.     
  4415. #else     /* C style interface */
  4416.  
  4417.     typedef struct ClusResGroupsVtbl
  4418.     {
  4419.         BEGIN_INTERFACE
  4420.         
  4421.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4422.             ClusResGroups __RPC_FAR * This,
  4423.             /* [in] */ REFIID riid,
  4424.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4425.         
  4426.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4427.             ClusResGroups __RPC_FAR * This);
  4428.         
  4429.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4430.             ClusResGroups __RPC_FAR * This);
  4431.         
  4432.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  4433.             ClusResGroups __RPC_FAR * This,
  4434.             /* [out] */ UINT __RPC_FAR *pctinfo);
  4435.         
  4436.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  4437.             ClusResGroups __RPC_FAR * This,
  4438.             /* [in] */ UINT iTInfo,
  4439.             /* [in] */ LCID lcid,
  4440.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  4441.         
  4442.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  4443.             ClusResGroups __RPC_FAR * This,
  4444.             /* [in] */ REFIID riid,
  4445.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  4446.             /* [in] */ UINT cNames,
  4447.             /* [in] */ LCID lcid,
  4448.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  4449.         
  4450.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  4451.             ClusResGroups __RPC_FAR * This,
  4452.             /* [in] */ DISPID dispIdMember,
  4453.             /* [in] */ REFIID riid,
  4454.             /* [in] */ LCID lcid,
  4455.             /* [in] */ WORD wFlags,
  4456.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  4457.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  4458.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  4459.             /* [out] */ UINT __RPC_FAR *puArgErr);
  4460.         
  4461.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  4462.             ClusResGroups __RPC_FAR * This,
  4463.             /* [retval][out] */ LONG __RPC_FAR *pnCount);
  4464.         
  4465.         /* [helpstring][id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
  4466.             ClusResGroups __RPC_FAR * This,
  4467.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *retval);
  4468.         
  4469.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  4470.             ClusResGroups __RPC_FAR * This);
  4471.         
  4472.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
  4473.             ClusResGroups __RPC_FAR * This,
  4474.             /* [in] */ VARIANT varIndex,
  4475.             /* [retval][out] */ ClusResGroup __RPC_FAR *__RPC_FAR *ppClusResGroup);
  4476.         
  4477.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateItem )( 
  4478.             ClusResGroups __RPC_FAR * This,
  4479.             /* [in] */ BSTR bstrResourceGroupName,
  4480.             /* [retval][out] */ ClusResGroup __RPC_FAR *__RPC_FAR *ppResourceGroup);
  4481.         
  4482.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteItem )( 
  4483.             ClusResGroups __RPC_FAR * This,
  4484.             /* [in] */ VARIANT varIndex);
  4485.         
  4486.         END_INTERFACE
  4487.     } ClusResGroupsVtbl;
  4488.  
  4489.     interface ClusResGroups
  4490.     {
  4491.         CONST_VTBL struct ClusResGroupsVtbl __RPC_FAR *lpVtbl;
  4492.     };
  4493.  
  4494.     
  4495.  
  4496. #ifdef COBJMACROS
  4497.  
  4498.  
  4499. #define ClusResGroups_QueryInterface(This,riid,ppvObject)    \
  4500.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4501.  
  4502. #define ClusResGroups_AddRef(This)    \
  4503.     (This)->lpVtbl -> AddRef(This)
  4504.  
  4505. #define ClusResGroups_Release(This)    \
  4506.     (This)->lpVtbl -> Release(This)
  4507.  
  4508.  
  4509. #define ClusResGroups_GetTypeInfoCount(This,pctinfo)    \
  4510.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  4511.  
  4512. #define ClusResGroups_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  4513.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4514.  
  4515. #define ClusResGroups_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  4516.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4517.  
  4518. #define ClusResGroups_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  4519.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4520.  
  4521.  
  4522. #define ClusResGroups_get_Count(This,pnCount)    \
  4523.     (This)->lpVtbl -> get_Count(This,pnCount)
  4524.  
  4525. #define ClusResGroups_get__NewEnum(This,retval)    \
  4526.     (This)->lpVtbl -> get__NewEnum(This,retval)
  4527.  
  4528. #define ClusResGroups_Refresh(This)    \
  4529.     (This)->lpVtbl -> Refresh(This)
  4530.  
  4531.  
  4532. #define ClusResGroups_get_Item(This,varIndex,ppClusResGroup)    \
  4533.     (This)->lpVtbl -> get_Item(This,varIndex,ppClusResGroup)
  4534.  
  4535. #define ClusResGroups_CreateItem(This,bstrResourceGroupName,ppResourceGroup)    \
  4536.     (This)->lpVtbl -> CreateItem(This,bstrResourceGroupName,ppResourceGroup)
  4537.  
  4538. #define ClusResGroups_DeleteItem(This,varIndex)    \
  4539.     (This)->lpVtbl -> DeleteItem(This,varIndex)
  4540.  
  4541. #endif /* COBJMACROS */
  4542.  
  4543.  
  4544. #endif     /* C style interface */
  4545.  
  4546.  
  4547.  
  4548. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ClusResGroups_get_Item_Proxy( 
  4549.     ClusResGroups __RPC_FAR * This,
  4550.     /* [in] */ VARIANT varIndex,
  4551.     /* [retval][out] */ ClusResGroup __RPC_FAR *__RPC_FAR *ppClusResGroup);
  4552.  
  4553.  
  4554. void __RPC_STUB ClusResGroups_get_Item_Stub(
  4555.     IRpcStubBuffer *This,
  4556.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4557.     PRPC_MESSAGE _pRpcMessage,
  4558.     DWORD *_pdwStubPhase);
  4559.  
  4560.  
  4561. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClusResGroups_CreateItem_Proxy( 
  4562.     ClusResGroups __RPC_FAR * This,
  4563.     /* [in] */ BSTR bstrResourceGroupName,
  4564.     /* [retval][out] */ ClusResGroup __RPC_FAR *__RPC_FAR *ppResourceGroup);
  4565.  
  4566.  
  4567. void __RPC_STUB ClusResGroups_CreateItem_Stub(
  4568.     IRpcStubBuffer *This,
  4569.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4570.     PRPC_MESSAGE _pRpcMessage,
  4571.     DWORD *_pdwStubPhase);
  4572.  
  4573.  
  4574. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClusResGroups_DeleteItem_Proxy( 
  4575.     ClusResGroups __RPC_FAR * This,
  4576.     /* [in] */ VARIANT varIndex);
  4577.  
  4578.  
  4579. void __RPC_STUB ClusResGroups_DeleteItem_Stub(
  4580.     IRpcStubBuffer *This,
  4581.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4582.     PRPC_MESSAGE _pRpcMessage,
  4583.     DWORD *_pdwStubPhase);
  4584.  
  4585.  
  4586.  
  4587. #endif     /* __ClusResGroups_INTERFACE_DEFINED__ */
  4588.  
  4589.  
  4590. #ifndef __ClusResource_INTERFACE_DEFINED__
  4591. #define __ClusResource_INTERFACE_DEFINED__
  4592.  
  4593. /****************************************
  4594.  * Generated header for interface: ClusResource
  4595.  * at Wed Sep 17 12:03:32 1997
  4596.  * using MIDL 3.00.44
  4597.  ****************************************/
  4598. /* [unique][helpstring][dual][uuid][object] */ 
  4599.  
  4600.  
  4601.  
  4602. EXTERN_C const IID IID_ClusResource;
  4603.  
  4604. #if defined(__cplusplus) && !defined(CINTERFACE)
  4605.     
  4606.     interface ClusResource : public ClusObj
  4607.     {
  4608.     public:
  4609.         virtual /* [hidden][propget] */ HRESULT STDMETHODCALLTYPE get_Handle( 
  4610.             /* [retval][out] */ LONG __RPC_FAR *phandle) = 0;
  4611.         
  4612.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
  4613.             /* [in] */ BSTR bstrResourceName) = 0;
  4614.         
  4615.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_State( 
  4616.             /* [retval][out] */ CLUSTER_RESOURCE_STATE __RPC_FAR *dwState) = 0;
  4617.         
  4618.         virtual HRESULT STDMETHODCALLTYPE BecomeQuorumResource( 
  4619.             /* [in] */ BSTR bstrDevicePath,
  4620.             /* [in] */ LONG lMaxLogSize) = 0;
  4621.         
  4622.         virtual HRESULT STDMETHODCALLTYPE Delete( void) = 0;
  4623.         
  4624.         virtual HRESULT STDMETHODCALLTYPE Fail( void) = 0;
  4625.         
  4626.         virtual HRESULT STDMETHODCALLTYPE Online( 
  4627.             LONG nTimeout,
  4628.             LONG __RPC_FAR *bPending) = 0;
  4629.         
  4630.         virtual HRESULT STDMETHODCALLTYPE Offline( 
  4631.             LONG nTimeout,
  4632.             LONG __RPC_FAR *bPending) = 0;
  4633.         
  4634.         virtual HRESULT STDMETHODCALLTYPE ChangeResourceGroup( 
  4635.             /* [in] */ ClusResGroup __RPC_FAR *pResourceGroup) = 0;
  4636.         
  4637.         virtual HRESULT STDMETHODCALLTYPE AddResourceNode( 
  4638.             /* [in] */ ClusNode __RPC_FAR *pNode) = 0;
  4639.         
  4640.         virtual HRESULT STDMETHODCALLTYPE RemoveResourceNode( 
  4641.             /* [in] */ ClusNode __RPC_FAR *pNode) = 0;
  4642.         
  4643.         virtual HRESULT STDMETHODCALLTYPE CanResourceBeDependent( 
  4644.             /* [in] */ ClusResource __RPC_FAR *pResource,
  4645.             /* [retval][out] */ BOOL __RPC_FAR *bDependent) = 0;
  4646.         
  4647.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PossibleOwnerNodes( 
  4648.             /* [retval][out] */ ClusResOwners __RPC_FAR *__RPC_FAR *ppNodes) = 0;
  4649.         
  4650.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Dependencies( 
  4651.             /* [retval][out] */ ClusResDependencies __RPC_FAR *__RPC_FAR *ppResDependencies) = 0;
  4652.         
  4653.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Group( 
  4654.             /* [retval][out] */ ClusResGroup __RPC_FAR *__RPC_FAR *ppResGroup) = 0;
  4655.         
  4656.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OwnerNode( 
  4657.             /* [retval][out] */ ClusNode __RPC_FAR *__RPC_FAR *ppNode) = 0;
  4658.         
  4659.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Cluster( 
  4660.             /* [retval][out] */ ICluster __RPC_FAR *__RPC_FAR *ppCluster) = 0;
  4661.         
  4662.     };
  4663.     
  4664. #else     /* C style interface */
  4665.  
  4666.     typedef struct ClusResourceVtbl
  4667.     {
  4668.         BEGIN_INTERFACE
  4669.         
  4670.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4671.             ClusResource __RPC_FAR * This,
  4672.             /* [in] */ REFIID riid,
  4673.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4674.         
  4675.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4676.             ClusResource __RPC_FAR * This);
  4677.         
  4678.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4679.             ClusResource __RPC_FAR * This);
  4680.         
  4681.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  4682.             ClusResource __RPC_FAR * This,
  4683.             /* [out] */ UINT __RPC_FAR *pctinfo);
  4684.         
  4685.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  4686.             ClusResource __RPC_FAR * This,
  4687.             /* [in] */ UINT iTInfo,
  4688.             /* [in] */ LCID lcid,
  4689.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  4690.         
  4691.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  4692.             ClusResource __RPC_FAR * This,
  4693.             /* [in] */ REFIID riid,
  4694.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  4695.             /* [in] */ UINT cNames,
  4696.             /* [in] */ LCID lcid,
  4697.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  4698.         
  4699.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  4700.             ClusResource __RPC_FAR * This,
  4701.             /* [in] */ DISPID dispIdMember,
  4702.             /* [in] */ REFIID riid,
  4703.             /* [in] */ LCID lcid,
  4704.             /* [in] */ WORD wFlags,
  4705.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  4706.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  4707.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  4708.             /* [out] */ UINT __RPC_FAR *puArgErr);
  4709.         
  4710.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
  4711.             ClusResource __RPC_FAR * This,
  4712.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  4713.         
  4714.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CommonProperties )( 
  4715.             ClusResource __RPC_FAR * This,
  4716.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  4717.         
  4718.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PrivateProperties )( 
  4719.             ClusResource __RPC_FAR * This,
  4720.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  4721.         
  4722.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CommonROProperties )( 
  4723.             ClusResource __RPC_FAR * This,
  4724.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  4725.         
  4726.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PrivateROProperties )( 
  4727.             ClusResource __RPC_FAR * This,
  4728.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  4729.         
  4730.         /* [hidden][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Handle )( 
  4731.             ClusResource __RPC_FAR * This,
  4732.             /* [retval][out] */ LONG __RPC_FAR *phandle);
  4733.         
  4734.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
  4735.             ClusResource __RPC_FAR * This,
  4736.             /* [in] */ BSTR bstrResourceName);
  4737.         
  4738.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_State )( 
  4739.             ClusResource __RPC_FAR * This,
  4740.             /* [retval][out] */ CLUSTER_RESOURCE_STATE __RPC_FAR *dwState);
  4741.         
  4742.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BecomeQuorumResource )( 
  4743.             ClusResource __RPC_FAR * This,
  4744.             /* [in] */ BSTR bstrDevicePath,
  4745.             /* [in] */ LONG lMaxLogSize);
  4746.         
  4747.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
  4748.             ClusResource __RPC_FAR * This);
  4749.         
  4750.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Fail )( 
  4751.             ClusResource __RPC_FAR * This);
  4752.         
  4753.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Online )( 
  4754.             ClusResource __RPC_FAR * This,
  4755.             LONG nTimeout,
  4756.             LONG __RPC_FAR *bPending);
  4757.         
  4758.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Offline )( 
  4759.             ClusResource __RPC_FAR * This,
  4760.             LONG nTimeout,
  4761.             LONG __RPC_FAR *bPending);
  4762.         
  4763.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ChangeResourceGroup )( 
  4764.             ClusResource __RPC_FAR * This,
  4765.             /* [in] */ ClusResGroup __RPC_FAR *pResourceGroup);
  4766.         
  4767.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddResourceNode )( 
  4768.             ClusResource __RPC_FAR * This,
  4769.             /* [in] */ ClusNode __RPC_FAR *pNode);
  4770.         
  4771.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveResourceNode )( 
  4772.             ClusResource __RPC_FAR * This,
  4773.             /* [in] */ ClusNode __RPC_FAR *pNode);
  4774.         
  4775.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CanResourceBeDependent )( 
  4776.             ClusResource __RPC_FAR * This,
  4777.             /* [in] */ ClusResource __RPC_FAR *pResource,
  4778.             /* [retval][out] */ BOOL __RPC_FAR *bDependent);
  4779.         
  4780.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PossibleOwnerNodes )( 
  4781.             ClusResource __RPC_FAR * This,
  4782.             /* [retval][out] */ ClusResOwners __RPC_FAR *__RPC_FAR *ppNodes);
  4783.         
  4784.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Dependencies )( 
  4785.             ClusResource __RPC_FAR * This,
  4786.             /* [retval][out] */ ClusResDependencies __RPC_FAR *__RPC_FAR *ppResDependencies);
  4787.         
  4788.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Group )( 
  4789.             ClusResource __RPC_FAR * This,
  4790.             /* [retval][out] */ ClusResGroup __RPC_FAR *__RPC_FAR *ppResGroup);
  4791.         
  4792.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_OwnerNode )( 
  4793.             ClusResource __RPC_FAR * This,
  4794.             /* [retval][out] */ ClusNode __RPC_FAR *__RPC_FAR *ppNode);
  4795.         
  4796.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Cluster )( 
  4797.             ClusResource __RPC_FAR * This,
  4798.             /* [retval][out] */ ICluster __RPC_FAR *__RPC_FAR *ppCluster);
  4799.         
  4800.         END_INTERFACE
  4801.     } ClusResourceVtbl;
  4802.  
  4803.     interface ClusResource
  4804.     {
  4805.         CONST_VTBL struct ClusResourceVtbl __RPC_FAR *lpVtbl;
  4806.     };
  4807.  
  4808.     
  4809.  
  4810. #ifdef COBJMACROS
  4811.  
  4812.  
  4813. #define ClusResource_QueryInterface(This,riid,ppvObject)    \
  4814.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4815.  
  4816. #define ClusResource_AddRef(This)    \
  4817.     (This)->lpVtbl -> AddRef(This)
  4818.  
  4819. #define ClusResource_Release(This)    \
  4820.     (This)->lpVtbl -> Release(This)
  4821.  
  4822.  
  4823. #define ClusResource_GetTypeInfoCount(This,pctinfo)    \
  4824.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  4825.  
  4826. #define ClusResource_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  4827.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4828.  
  4829. #define ClusResource_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  4830.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4831.  
  4832. #define ClusResource_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  4833.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4834.  
  4835.  
  4836. #define ClusResource_get_Name(This,pbstrName)    \
  4837.     (This)->lpVtbl -> get_Name(This,pbstrName)
  4838.  
  4839. #define ClusResource_get_CommonProperties(This,ppProperties)    \
  4840.     (This)->lpVtbl -> get_CommonProperties(This,ppProperties)
  4841.  
  4842. #define ClusResource_get_PrivateProperties(This,ppProperties)    \
  4843.     (This)->lpVtbl -> get_PrivateProperties(This,ppProperties)
  4844.  
  4845. #define ClusResource_get_CommonROProperties(This,ppProperties)    \
  4846.     (This)->lpVtbl -> get_CommonROProperties(This,ppProperties)
  4847.  
  4848. #define ClusResource_get_PrivateROProperties(This,ppProperties)    \
  4849.     (This)->lpVtbl -> get_PrivateROProperties(This,ppProperties)
  4850.  
  4851.  
  4852. #define ClusResource_get_Handle(This,phandle)    \
  4853.     (This)->lpVtbl -> get_Handle(This,phandle)
  4854.  
  4855. #define ClusResource_put_Name(This,bstrResourceName)    \
  4856.     (This)->lpVtbl -> put_Name(This,bstrResourceName)
  4857.  
  4858. #define ClusResource_get_State(This,dwState)    \
  4859.     (This)->lpVtbl -> get_State(This,dwState)
  4860.  
  4861. #define ClusResource_BecomeQuorumResource(This,bstrDevicePath,lMaxLogSize)    \
  4862.     (This)->lpVtbl -> BecomeQuorumResource(This,bstrDevicePath,lMaxLogSize)
  4863.  
  4864. #define ClusResource_Delete(This)    \
  4865.     (This)->lpVtbl -> Delete(This)
  4866.  
  4867. #define ClusResource_Fail(This)    \
  4868.     (This)->lpVtbl -> Fail(This)
  4869.  
  4870. #define ClusResource_Online(This,nTimeout,bPending)    \
  4871.     (This)->lpVtbl -> Online(This,nTimeout,bPending)
  4872.  
  4873. #define ClusResource_Offline(This,nTimeout,bPending)    \
  4874.     (This)->lpVtbl -> Offline(This,nTimeout,bPending)
  4875.  
  4876. #define ClusResource_ChangeResourceGroup(This,pResourceGroup)    \
  4877.     (This)->lpVtbl -> ChangeResourceGroup(This,pResourceGroup)
  4878.  
  4879. #define ClusResource_AddResourceNode(This,pNode)    \
  4880.     (This)->lpVtbl -> AddResourceNode(This,pNode)
  4881.  
  4882. #define ClusResource_RemoveResourceNode(This,pNode)    \
  4883.     (This)->lpVtbl -> RemoveResourceNode(This,pNode)
  4884.  
  4885. #define ClusResource_CanResourceBeDependent(This,pResource,bDependent)    \
  4886.     (This)->lpVtbl -> CanResourceBeDependent(This,pResource,bDependent)
  4887.  
  4888. #define ClusResource_get_PossibleOwnerNodes(This,ppNodes)    \
  4889.     (This)->lpVtbl -> get_PossibleOwnerNodes(This,ppNodes)
  4890.  
  4891. #define ClusResource_get_Dependencies(This,ppResDependencies)    \
  4892.     (This)->lpVtbl -> get_Dependencies(This,ppResDependencies)
  4893.  
  4894. #define ClusResource_get_Group(This,ppResGroup)    \
  4895.     (This)->lpVtbl -> get_Group(This,ppResGroup)
  4896.  
  4897. #define ClusResource_get_OwnerNode(This,ppNode)    \
  4898.     (This)->lpVtbl -> get_OwnerNode(This,ppNode)
  4899.  
  4900. #define ClusResource_get_Cluster(This,ppCluster)    \
  4901.     (This)->lpVtbl -> get_Cluster(This,ppCluster)
  4902.  
  4903. #endif /* COBJMACROS */
  4904.  
  4905.  
  4906. #endif     /* C style interface */
  4907.  
  4908.  
  4909.  
  4910. /* [hidden][propget] */ HRESULT STDMETHODCALLTYPE ClusResource_get_Handle_Proxy( 
  4911.     ClusResource __RPC_FAR * This,
  4912.     /* [retval][out] */ LONG __RPC_FAR *phandle);
  4913.  
  4914.  
  4915. void __RPC_STUB ClusResource_get_Handle_Stub(
  4916.     IRpcStubBuffer *This,
  4917.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4918.     PRPC_MESSAGE _pRpcMessage,
  4919.     DWORD *_pdwStubPhase);
  4920.  
  4921.  
  4922. /* [propput] */ HRESULT STDMETHODCALLTYPE ClusResource_put_Name_Proxy( 
  4923.     ClusResource __RPC_FAR * This,
  4924.     /* [in] */ BSTR bstrResourceName);
  4925.  
  4926.  
  4927. void __RPC_STUB ClusResource_put_Name_Stub(
  4928.     IRpcStubBuffer *This,
  4929.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4930.     PRPC_MESSAGE _pRpcMessage,
  4931.     DWORD *_pdwStubPhase);
  4932.  
  4933.  
  4934. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusResource_get_State_Proxy( 
  4935.     ClusResource __RPC_FAR * This,
  4936.     /* [retval][out] */ CLUSTER_RESOURCE_STATE __RPC_FAR *dwState);
  4937.  
  4938.  
  4939. void __RPC_STUB ClusResource_get_State_Stub(
  4940.     IRpcStubBuffer *This,
  4941.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4942.     PRPC_MESSAGE _pRpcMessage,
  4943.     DWORD *_pdwStubPhase);
  4944.  
  4945.  
  4946. HRESULT STDMETHODCALLTYPE ClusResource_BecomeQuorumResource_Proxy( 
  4947.     ClusResource __RPC_FAR * This,
  4948.     /* [in] */ BSTR bstrDevicePath,
  4949.     /* [in] */ LONG lMaxLogSize);
  4950.  
  4951.  
  4952. void __RPC_STUB ClusResource_BecomeQuorumResource_Stub(
  4953.     IRpcStubBuffer *This,
  4954.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4955.     PRPC_MESSAGE _pRpcMessage,
  4956.     DWORD *_pdwStubPhase);
  4957.  
  4958.  
  4959. HRESULT STDMETHODCALLTYPE ClusResource_Delete_Proxy( 
  4960.     ClusResource __RPC_FAR * This);
  4961.  
  4962.  
  4963. void __RPC_STUB ClusResource_Delete_Stub(
  4964.     IRpcStubBuffer *This,
  4965.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4966.     PRPC_MESSAGE _pRpcMessage,
  4967.     DWORD *_pdwStubPhase);
  4968.  
  4969.  
  4970. HRESULT STDMETHODCALLTYPE ClusResource_Fail_Proxy( 
  4971.     ClusResource __RPC_FAR * This);
  4972.  
  4973.  
  4974. void __RPC_STUB ClusResource_Fail_Stub(
  4975.     IRpcStubBuffer *This,
  4976.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4977.     PRPC_MESSAGE _pRpcMessage,
  4978.     DWORD *_pdwStubPhase);
  4979.  
  4980.  
  4981. HRESULT STDMETHODCALLTYPE ClusResource_Online_Proxy( 
  4982.     ClusResource __RPC_FAR * This,
  4983.     LONG nTimeout,
  4984.     LONG __RPC_FAR *bPending);
  4985.  
  4986.  
  4987. void __RPC_STUB ClusResource_Online_Stub(
  4988.     IRpcStubBuffer *This,
  4989.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4990.     PRPC_MESSAGE _pRpcMessage,
  4991.     DWORD *_pdwStubPhase);
  4992.  
  4993.  
  4994. HRESULT STDMETHODCALLTYPE ClusResource_Offline_Proxy( 
  4995.     ClusResource __RPC_FAR * This,
  4996.     LONG nTimeout,
  4997.     LONG __RPC_FAR *bPending);
  4998.  
  4999.  
  5000. void __RPC_STUB ClusResource_Offline_Stub(
  5001.     IRpcStubBuffer *This,
  5002.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5003.     PRPC_MESSAGE _pRpcMessage,
  5004.     DWORD *_pdwStubPhase);
  5005.  
  5006.  
  5007. HRESULT STDMETHODCALLTYPE ClusResource_ChangeResourceGroup_Proxy( 
  5008.     ClusResource __RPC_FAR * This,
  5009.     /* [in] */ ClusResGroup __RPC_FAR *pResourceGroup);
  5010.  
  5011.  
  5012. void __RPC_STUB ClusResource_ChangeResourceGroup_Stub(
  5013.     IRpcStubBuffer *This,
  5014.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5015.     PRPC_MESSAGE _pRpcMessage,
  5016.     DWORD *_pdwStubPhase);
  5017.  
  5018.  
  5019. HRESULT STDMETHODCALLTYPE ClusResource_AddResourceNode_Proxy( 
  5020.     ClusResource __RPC_FAR * This,
  5021.     /* [in] */ ClusNode __RPC_FAR *pNode);
  5022.  
  5023.  
  5024. void __RPC_STUB ClusResource_AddResourceNode_Stub(
  5025.     IRpcStubBuffer *This,
  5026.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5027.     PRPC_MESSAGE _pRpcMessage,
  5028.     DWORD *_pdwStubPhase);
  5029.  
  5030.  
  5031. HRESULT STDMETHODCALLTYPE ClusResource_RemoveResourceNode_Proxy( 
  5032.     ClusResource __RPC_FAR * This,
  5033.     /* [in] */ ClusNode __RPC_FAR *pNode);
  5034.  
  5035.  
  5036. void __RPC_STUB ClusResource_RemoveResourceNode_Stub(
  5037.     IRpcStubBuffer *This,
  5038.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5039.     PRPC_MESSAGE _pRpcMessage,
  5040.     DWORD *_pdwStubPhase);
  5041.  
  5042.  
  5043. HRESULT STDMETHODCALLTYPE ClusResource_CanResourceBeDependent_Proxy( 
  5044.     ClusResource __RPC_FAR * This,
  5045.     /* [in] */ ClusResource __RPC_FAR *pResource,
  5046.     /* [retval][out] */ BOOL __RPC_FAR *bDependent);
  5047.  
  5048.  
  5049. void __RPC_STUB ClusResource_CanResourceBeDependent_Stub(
  5050.     IRpcStubBuffer *This,
  5051.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5052.     PRPC_MESSAGE _pRpcMessage,
  5053.     DWORD *_pdwStubPhase);
  5054.  
  5055.  
  5056. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusResource_get_PossibleOwnerNodes_Proxy( 
  5057.     ClusResource __RPC_FAR * This,
  5058.     /* [retval][out] */ ClusResOwners __RPC_FAR *__RPC_FAR *ppNodes);
  5059.  
  5060.  
  5061. void __RPC_STUB ClusResource_get_PossibleOwnerNodes_Stub(
  5062.     IRpcStubBuffer *This,
  5063.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5064.     PRPC_MESSAGE _pRpcMessage,
  5065.     DWORD *_pdwStubPhase);
  5066.  
  5067.  
  5068. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusResource_get_Dependencies_Proxy( 
  5069.     ClusResource __RPC_FAR * This,
  5070.     /* [retval][out] */ ClusResDependencies __RPC_FAR *__RPC_FAR *ppResDependencies);
  5071.  
  5072.  
  5073. void __RPC_STUB ClusResource_get_Dependencies_Stub(
  5074.     IRpcStubBuffer *This,
  5075.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5076.     PRPC_MESSAGE _pRpcMessage,
  5077.     DWORD *_pdwStubPhase);
  5078.  
  5079.  
  5080. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusResource_get_Group_Proxy( 
  5081.     ClusResource __RPC_FAR * This,
  5082.     /* [retval][out] */ ClusResGroup __RPC_FAR *__RPC_FAR *ppResGroup);
  5083.  
  5084.  
  5085. void __RPC_STUB ClusResource_get_Group_Stub(
  5086.     IRpcStubBuffer *This,
  5087.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5088.     PRPC_MESSAGE _pRpcMessage,
  5089.     DWORD *_pdwStubPhase);
  5090.  
  5091.  
  5092. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusResource_get_OwnerNode_Proxy( 
  5093.     ClusResource __RPC_FAR * This,
  5094.     /* [retval][out] */ ClusNode __RPC_FAR *__RPC_FAR *ppNode);
  5095.  
  5096.  
  5097. void __RPC_STUB ClusResource_get_OwnerNode_Stub(
  5098.     IRpcStubBuffer *This,
  5099.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5100.     PRPC_MESSAGE _pRpcMessage,
  5101.     DWORD *_pdwStubPhase);
  5102.  
  5103.  
  5104. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusResource_get_Cluster_Proxy( 
  5105.     ClusResource __RPC_FAR * This,
  5106.     /* [retval][out] */ ICluster __RPC_FAR *__RPC_FAR *ppCluster);
  5107.  
  5108.  
  5109. void __RPC_STUB ClusResource_get_Cluster_Stub(
  5110.     IRpcStubBuffer *This,
  5111.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5112.     PRPC_MESSAGE _pRpcMessage,
  5113.     DWORD *_pdwStubPhase);
  5114.  
  5115.  
  5116.  
  5117. #endif     /* __ClusResource_INTERFACE_DEFINED__ */
  5118.  
  5119.  
  5120. #ifndef __ClusResDependencies_INTERFACE_DEFINED__
  5121. #define __ClusResDependencies_INTERFACE_DEFINED__
  5122.  
  5123. /****************************************
  5124.  * Generated header for interface: ClusResDependencies
  5125.  * at Wed Sep 17 12:03:32 1997
  5126.  * using MIDL 3.00.44
  5127.  ****************************************/
  5128. /* [unique][helpstring][dual][uuid][object] */ 
  5129.  
  5130.  
  5131.  
  5132. EXTERN_C const IID IID_ClusResDependencies;
  5133.  
  5134. #if defined(__cplusplus) && !defined(CINTERFACE)
  5135.     
  5136.     interface ClusResDependencies : public ClusObjCollection
  5137.     {
  5138.     public:
  5139.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
  5140.             /* [in] */ VARIANT varIndex,
  5141.             /* [retval][out] */ ClusResource __RPC_FAR *__RPC_FAR *ppClusResource) = 0;
  5142.         
  5143.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateItem( 
  5144.             /* [in] */ BSTR bstrResourceName,
  5145.             /* [in] */ BSTR bstrResourceType,
  5146.             /* [in] */ BSTR bstrGroupName,
  5147.             /* [in] */ CLUSTER_RESOURCE_CREATE_FLAGS dwFlags,
  5148.             /* [retval][out] */ ClusResource __RPC_FAR *__RPC_FAR *ppClusterResource) = 0;
  5149.         
  5150.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DeleteItem( 
  5151.             /* [in] */ VARIANT varIndex) = 0;
  5152.         
  5153.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddItem( 
  5154.             /* [in] */ ClusResource __RPC_FAR *pResource) = 0;
  5155.         
  5156.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveItem( 
  5157.             /* [in] */ VARIANT varIndex) = 0;
  5158.         
  5159.     };
  5160.     
  5161. #else     /* C style interface */
  5162.  
  5163.     typedef struct ClusResDependenciesVtbl
  5164.     {
  5165.         BEGIN_INTERFACE
  5166.         
  5167.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5168.             ClusResDependencies __RPC_FAR * This,
  5169.             /* [in] */ REFIID riid,
  5170.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5171.         
  5172.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5173.             ClusResDependencies __RPC_FAR * This);
  5174.         
  5175.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5176.             ClusResDependencies __RPC_FAR * This);
  5177.         
  5178.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  5179.             ClusResDependencies __RPC_FAR * This,
  5180.             /* [out] */ UINT __RPC_FAR *pctinfo);
  5181.         
  5182.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  5183.             ClusResDependencies __RPC_FAR * This,
  5184.             /* [in] */ UINT iTInfo,
  5185.             /* [in] */ LCID lcid,
  5186.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  5187.         
  5188.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  5189.             ClusResDependencies __RPC_FAR * This,
  5190.             /* [in] */ REFIID riid,
  5191.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  5192.             /* [in] */ UINT cNames,
  5193.             /* [in] */ LCID lcid,
  5194.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  5195.         
  5196.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  5197.             ClusResDependencies __RPC_FAR * This,
  5198.             /* [in] */ DISPID dispIdMember,
  5199.             /* [in] */ REFIID riid,
  5200.             /* [in] */ LCID lcid,
  5201.             /* [in] */ WORD wFlags,
  5202.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  5203.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  5204.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  5205.             /* [out] */ UINT __RPC_FAR *puArgErr);
  5206.         
  5207.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  5208.             ClusResDependencies __RPC_FAR * This,
  5209.             /* [retval][out] */ LONG __RPC_FAR *pnCount);
  5210.         
  5211.         /* [helpstring][id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
  5212.             ClusResDependencies __RPC_FAR * This,
  5213.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *retval);
  5214.         
  5215.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  5216.             ClusResDependencies __RPC_FAR * This);
  5217.         
  5218.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
  5219.             ClusResDependencies __RPC_FAR * This,
  5220.             /* [in] */ VARIANT varIndex,
  5221.             /* [retval][out] */ ClusResource __RPC_FAR *__RPC_FAR *ppClusResource);
  5222.         
  5223.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateItem )( 
  5224.             ClusResDependencies __RPC_FAR * This,
  5225.             /* [in] */ BSTR bstrResourceName,
  5226.             /* [in] */ BSTR bstrResourceType,
  5227.             /* [in] */ BSTR bstrGroupName,
  5228.             /* [in] */ CLUSTER_RESOURCE_CREATE_FLAGS dwFlags,
  5229.             /* [retval][out] */ ClusResource __RPC_FAR *__RPC_FAR *ppClusterResource);
  5230.         
  5231.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteItem )( 
  5232.             ClusResDependencies __RPC_FAR * This,
  5233.             /* [in] */ VARIANT varIndex);
  5234.         
  5235.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddItem )( 
  5236.             ClusResDependencies __RPC_FAR * This,
  5237.             /* [in] */ ClusResource __RPC_FAR *pResource);
  5238.         
  5239.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveItem )( 
  5240.             ClusResDependencies __RPC_FAR * This,
  5241.             /* [in] */ VARIANT varIndex);
  5242.         
  5243.         END_INTERFACE
  5244.     } ClusResDependenciesVtbl;
  5245.  
  5246.     interface ClusResDependencies
  5247.     {
  5248.         CONST_VTBL struct ClusResDependenciesVtbl __RPC_FAR *lpVtbl;
  5249.     };
  5250.  
  5251.     
  5252.  
  5253. #ifdef COBJMACROS
  5254.  
  5255.  
  5256. #define ClusResDependencies_QueryInterface(This,riid,ppvObject)    \
  5257.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5258.  
  5259. #define ClusResDependencies_AddRef(This)    \
  5260.     (This)->lpVtbl -> AddRef(This)
  5261.  
  5262. #define ClusResDependencies_Release(This)    \
  5263.     (This)->lpVtbl -> Release(This)
  5264.  
  5265.  
  5266. #define ClusResDependencies_GetTypeInfoCount(This,pctinfo)    \
  5267.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  5268.  
  5269. #define ClusResDependencies_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  5270.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  5271.  
  5272. #define ClusResDependencies_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  5273.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  5274.  
  5275. #define ClusResDependencies_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  5276.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  5277.  
  5278.  
  5279. #define ClusResDependencies_get_Count(This,pnCount)    \
  5280.     (This)->lpVtbl -> get_Count(This,pnCount)
  5281.  
  5282. #define ClusResDependencies_get__NewEnum(This,retval)    \
  5283.     (This)->lpVtbl -> get__NewEnum(This,retval)
  5284.  
  5285. #define ClusResDependencies_Refresh(This)    \
  5286.     (This)->lpVtbl -> Refresh(This)
  5287.  
  5288.  
  5289. #define ClusResDependencies_get_Item(This,varIndex,ppClusResource)    \
  5290.     (This)->lpVtbl -> get_Item(This,varIndex,ppClusResource)
  5291.  
  5292. #define ClusResDependencies_CreateItem(This,bstrResourceName,bstrResourceType,bstrGroupName,dwFlags,ppClusterResource)    \
  5293.     (This)->lpVtbl -> CreateItem(This,bstrResourceName,bstrResourceType,bstrGroupName,dwFlags,ppClusterResource)
  5294.  
  5295. #define ClusResDependencies_DeleteItem(This,varIndex)    \
  5296.     (This)->lpVtbl -> DeleteItem(This,varIndex)
  5297.  
  5298. #define ClusResDependencies_AddItem(This,pResource)    \
  5299.     (This)->lpVtbl -> AddItem(This,pResource)
  5300.  
  5301. #define ClusResDependencies_RemoveItem(This,varIndex)    \
  5302.     (This)->lpVtbl -> RemoveItem(This,varIndex)
  5303.  
  5304. #endif /* COBJMACROS */
  5305.  
  5306.  
  5307. #endif     /* C style interface */
  5308.  
  5309.  
  5310.  
  5311. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ClusResDependencies_get_Item_Proxy( 
  5312.     ClusResDependencies __RPC_FAR * This,
  5313.     /* [in] */ VARIANT varIndex,
  5314.     /* [retval][out] */ ClusResource __RPC_FAR *__RPC_FAR *ppClusResource);
  5315.  
  5316.  
  5317. void __RPC_STUB ClusResDependencies_get_Item_Stub(
  5318.     IRpcStubBuffer *This,
  5319.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5320.     PRPC_MESSAGE _pRpcMessage,
  5321.     DWORD *_pdwStubPhase);
  5322.  
  5323.  
  5324. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClusResDependencies_CreateItem_Proxy( 
  5325.     ClusResDependencies __RPC_FAR * This,
  5326.     /* [in] */ BSTR bstrResourceName,
  5327.     /* [in] */ BSTR bstrResourceType,
  5328.     /* [in] */ BSTR bstrGroupName,
  5329.     /* [in] */ CLUSTER_RESOURCE_CREATE_FLAGS dwFlags,
  5330.     /* [retval][out] */ ClusResource __RPC_FAR *__RPC_FAR *ppClusterResource);
  5331.  
  5332.  
  5333. void __RPC_STUB ClusResDependencies_CreateItem_Stub(
  5334.     IRpcStubBuffer *This,
  5335.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5336.     PRPC_MESSAGE _pRpcMessage,
  5337.     DWORD *_pdwStubPhase);
  5338.  
  5339.  
  5340. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClusResDependencies_DeleteItem_Proxy( 
  5341.     ClusResDependencies __RPC_FAR * This,
  5342.     /* [in] */ VARIANT varIndex);
  5343.  
  5344.  
  5345. void __RPC_STUB ClusResDependencies_DeleteItem_Stub(
  5346.     IRpcStubBuffer *This,
  5347.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5348.     PRPC_MESSAGE _pRpcMessage,
  5349.     DWORD *_pdwStubPhase);
  5350.  
  5351.  
  5352. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClusResDependencies_AddItem_Proxy( 
  5353.     ClusResDependencies __RPC_FAR * This,
  5354.     /* [in] */ ClusResource __RPC_FAR *pResource);
  5355.  
  5356.  
  5357. void __RPC_STUB ClusResDependencies_AddItem_Stub(
  5358.     IRpcStubBuffer *This,
  5359.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5360.     PRPC_MESSAGE _pRpcMessage,
  5361.     DWORD *_pdwStubPhase);
  5362.  
  5363.  
  5364. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClusResDependencies_RemoveItem_Proxy( 
  5365.     ClusResDependencies __RPC_FAR * This,
  5366.     /* [in] */ VARIANT varIndex);
  5367.  
  5368.  
  5369. void __RPC_STUB ClusResDependencies_RemoveItem_Stub(
  5370.     IRpcStubBuffer *This,
  5371.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5372.     PRPC_MESSAGE _pRpcMessage,
  5373.     DWORD *_pdwStubPhase);
  5374.  
  5375.  
  5376.  
  5377. #endif     /* __ClusResDependencies_INTERFACE_DEFINED__ */
  5378.  
  5379.  
  5380. #ifndef __ClusGroupResources_INTERFACE_DEFINED__
  5381. #define __ClusGroupResources_INTERFACE_DEFINED__
  5382.  
  5383. /****************************************
  5384.  * Generated header for interface: ClusGroupResources
  5385.  * at Wed Sep 17 12:03:32 1997
  5386.  * using MIDL 3.00.44
  5387.  ****************************************/
  5388. /* [unique][helpstring][dual][uuid][object] */ 
  5389.  
  5390.  
  5391.  
  5392. EXTERN_C const IID IID_ClusGroupResources;
  5393.  
  5394. #if defined(__cplusplus) && !defined(CINTERFACE)
  5395.     
  5396.     interface ClusGroupResources : public ClusObjCollection
  5397.     {
  5398.     public:
  5399.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
  5400.             /* [in] */ VARIANT varIndex,
  5401.             /* [retval][out] */ ClusResource __RPC_FAR *__RPC_FAR *ppClusResource) = 0;
  5402.         
  5403.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateItem( 
  5404.             /* [in] */ BSTR bstrResourceName,
  5405.             /* [in] */ BSTR bstrResourceType,
  5406.             /* [in] */ CLUSTER_RESOURCE_CREATE_FLAGS dwFlags,
  5407.             /* [retval][out] */ ClusResource __RPC_FAR *__RPC_FAR *ppClusterResource) = 0;
  5408.         
  5409.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DeleteItem( 
  5410.             /* [in] */ VARIANT varIndex) = 0;
  5411.         
  5412.     };
  5413.     
  5414. #else     /* C style interface */
  5415.  
  5416.     typedef struct ClusGroupResourcesVtbl
  5417.     {
  5418.         BEGIN_INTERFACE
  5419.         
  5420.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5421.             ClusGroupResources __RPC_FAR * This,
  5422.             /* [in] */ REFIID riid,
  5423.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5424.         
  5425.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5426.             ClusGroupResources __RPC_FAR * This);
  5427.         
  5428.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5429.             ClusGroupResources __RPC_FAR * This);
  5430.         
  5431.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  5432.             ClusGroupResources __RPC_FAR * This,
  5433.             /* [out] */ UINT __RPC_FAR *pctinfo);
  5434.         
  5435.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  5436.             ClusGroupResources __RPC_FAR * This,
  5437.             /* [in] */ UINT iTInfo,
  5438.             /* [in] */ LCID lcid,
  5439.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  5440.         
  5441.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  5442.             ClusGroupResources __RPC_FAR * This,
  5443.             /* [in] */ REFIID riid,
  5444.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  5445.             /* [in] */ UINT cNames,
  5446.             /* [in] */ LCID lcid,
  5447.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  5448.         
  5449.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  5450.             ClusGroupResources __RPC_FAR * This,
  5451.             /* [in] */ DISPID dispIdMember,
  5452.             /* [in] */ REFIID riid,
  5453.             /* [in] */ LCID lcid,
  5454.             /* [in] */ WORD wFlags,
  5455.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  5456.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  5457.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  5458.             /* [out] */ UINT __RPC_FAR *puArgErr);
  5459.         
  5460.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  5461.             ClusGroupResources __RPC_FAR * This,
  5462.             /* [retval][out] */ LONG __RPC_FAR *pnCount);
  5463.         
  5464.         /* [helpstring][id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
  5465.             ClusGroupResources __RPC_FAR * This,
  5466.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *retval);
  5467.         
  5468.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  5469.             ClusGroupResources __RPC_FAR * This);
  5470.         
  5471.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
  5472.             ClusGroupResources __RPC_FAR * This,
  5473.             /* [in] */ VARIANT varIndex,
  5474.             /* [retval][out] */ ClusResource __RPC_FAR *__RPC_FAR *ppClusResource);
  5475.         
  5476.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateItem )( 
  5477.             ClusGroupResources __RPC_FAR * This,
  5478.             /* [in] */ BSTR bstrResourceName,
  5479.             /* [in] */ BSTR bstrResourceType,
  5480.             /* [in] */ CLUSTER_RESOURCE_CREATE_FLAGS dwFlags,
  5481.             /* [retval][out] */ ClusResource __RPC_FAR *__RPC_FAR *ppClusterResource);
  5482.         
  5483.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteItem )( 
  5484.             ClusGroupResources __RPC_FAR * This,
  5485.             /* [in] */ VARIANT varIndex);
  5486.         
  5487.         END_INTERFACE
  5488.     } ClusGroupResourcesVtbl;
  5489.  
  5490.     interface ClusGroupResources
  5491.     {
  5492.         CONST_VTBL struct ClusGroupResourcesVtbl __RPC_FAR *lpVtbl;
  5493.     };
  5494.  
  5495.     
  5496.  
  5497. #ifdef COBJMACROS
  5498.  
  5499.  
  5500. #define ClusGroupResources_QueryInterface(This,riid,ppvObject)    \
  5501.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5502.  
  5503. #define ClusGroupResources_AddRef(This)    \
  5504.     (This)->lpVtbl -> AddRef(This)
  5505.  
  5506. #define ClusGroupResources_Release(This)    \
  5507.     (This)->lpVtbl -> Release(This)
  5508.  
  5509.  
  5510. #define ClusGroupResources_GetTypeInfoCount(This,pctinfo)    \
  5511.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  5512.  
  5513. #define ClusGroupResources_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  5514.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  5515.  
  5516. #define ClusGroupResources_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  5517.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  5518.  
  5519. #define ClusGroupResources_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  5520.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  5521.  
  5522.  
  5523. #define ClusGroupResources_get_Count(This,pnCount)    \
  5524.     (This)->lpVtbl -> get_Count(This,pnCount)
  5525.  
  5526. #define ClusGroupResources_get__NewEnum(This,retval)    \
  5527.     (This)->lpVtbl -> get__NewEnum(This,retval)
  5528.  
  5529. #define ClusGroupResources_Refresh(This)    \
  5530.     (This)->lpVtbl -> Refresh(This)
  5531.  
  5532.  
  5533. #define ClusGroupResources_get_Item(This,varIndex,ppClusResource)    \
  5534.     (This)->lpVtbl -> get_Item(This,varIndex,ppClusResource)
  5535.  
  5536. #define ClusGroupResources_CreateItem(This,bstrResourceName,bstrResourceType,dwFlags,ppClusterResource)    \
  5537.     (This)->lpVtbl -> CreateItem(This,bstrResourceName,bstrResourceType,dwFlags,ppClusterResource)
  5538.  
  5539. #define ClusGroupResources_DeleteItem(This,varIndex)    \
  5540.     (This)->lpVtbl -> DeleteItem(This,varIndex)
  5541.  
  5542. #endif /* COBJMACROS */
  5543.  
  5544.  
  5545. #endif     /* C style interface */
  5546.  
  5547.  
  5548.  
  5549. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ClusGroupResources_get_Item_Proxy( 
  5550.     ClusGroupResources __RPC_FAR * This,
  5551.     /* [in] */ VARIANT varIndex,
  5552.     /* [retval][out] */ ClusResource __RPC_FAR *__RPC_FAR *ppClusResource);
  5553.  
  5554.  
  5555. void __RPC_STUB ClusGroupResources_get_Item_Stub(
  5556.     IRpcStubBuffer *This,
  5557.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5558.     PRPC_MESSAGE _pRpcMessage,
  5559.     DWORD *_pdwStubPhase);
  5560.  
  5561.  
  5562. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClusGroupResources_CreateItem_Proxy( 
  5563.     ClusGroupResources __RPC_FAR * This,
  5564.     /* [in] */ BSTR bstrResourceName,
  5565.     /* [in] */ BSTR bstrResourceType,
  5566.     /* [in] */ CLUSTER_RESOURCE_CREATE_FLAGS dwFlags,
  5567.     /* [retval][out] */ ClusResource __RPC_FAR *__RPC_FAR *ppClusterResource);
  5568.  
  5569.  
  5570. void __RPC_STUB ClusGroupResources_CreateItem_Stub(
  5571.     IRpcStubBuffer *This,
  5572.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5573.     PRPC_MESSAGE _pRpcMessage,
  5574.     DWORD *_pdwStubPhase);
  5575.  
  5576.  
  5577. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClusGroupResources_DeleteItem_Proxy( 
  5578.     ClusGroupResources __RPC_FAR * This,
  5579.     /* [in] */ VARIANT varIndex);
  5580.  
  5581.  
  5582. void __RPC_STUB ClusGroupResources_DeleteItem_Stub(
  5583.     IRpcStubBuffer *This,
  5584.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5585.     PRPC_MESSAGE _pRpcMessage,
  5586.     DWORD *_pdwStubPhase);
  5587.  
  5588.  
  5589.  
  5590. #endif     /* __ClusGroupResources_INTERFACE_DEFINED__ */
  5591.  
  5592.  
  5593. #ifndef __ClusResTypeResources_INTERFACE_DEFINED__
  5594. #define __ClusResTypeResources_INTERFACE_DEFINED__
  5595.  
  5596. /****************************************
  5597.  * Generated header for interface: ClusResTypeResources
  5598.  * at Wed Sep 17 12:03:32 1997
  5599.  * using MIDL 3.00.44
  5600.  ****************************************/
  5601. /* [unique][helpstring][dual][uuid][object] */ 
  5602.  
  5603.  
  5604.  
  5605. EXTERN_C const IID IID_ClusResTypeResources;
  5606.  
  5607. #if defined(__cplusplus) && !defined(CINTERFACE)
  5608.     
  5609.     interface ClusResTypeResources : public ClusObjCollection
  5610.     {
  5611.     public:
  5612.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
  5613.             /* [in] */ VARIANT varIndex,
  5614.             /* [retval][out] */ ClusResource __RPC_FAR *__RPC_FAR *ppClusResource) = 0;
  5615.         
  5616.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateItem( 
  5617.             /* [in] */ BSTR bstrResourceName,
  5618.             /* [in] */ BSTR bstrGroupName,
  5619.             /* [in] */ CLUSTER_RESOURCE_CREATE_FLAGS dwFlags,
  5620.             /* [retval][out] */ ClusResource __RPC_FAR *__RPC_FAR *ppClusterResource) = 0;
  5621.         
  5622.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DeleteItem( 
  5623.             /* [in] */ VARIANT varIndex) = 0;
  5624.         
  5625.     };
  5626.     
  5627. #else     /* C style interface */
  5628.  
  5629.     typedef struct ClusResTypeResourcesVtbl
  5630.     {
  5631.         BEGIN_INTERFACE
  5632.         
  5633.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5634.             ClusResTypeResources __RPC_FAR * This,
  5635.             /* [in] */ REFIID riid,
  5636.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5637.         
  5638.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5639.             ClusResTypeResources __RPC_FAR * This);
  5640.         
  5641.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5642.             ClusResTypeResources __RPC_FAR * This);
  5643.         
  5644.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  5645.             ClusResTypeResources __RPC_FAR * This,
  5646.             /* [out] */ UINT __RPC_FAR *pctinfo);
  5647.         
  5648.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  5649.             ClusResTypeResources __RPC_FAR * This,
  5650.             /* [in] */ UINT iTInfo,
  5651.             /* [in] */ LCID lcid,
  5652.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  5653.         
  5654.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  5655.             ClusResTypeResources __RPC_FAR * This,
  5656.             /* [in] */ REFIID riid,
  5657.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  5658.             /* [in] */ UINT cNames,
  5659.             /* [in] */ LCID lcid,
  5660.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  5661.         
  5662.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  5663.             ClusResTypeResources __RPC_FAR * This,
  5664.             /* [in] */ DISPID dispIdMember,
  5665.             /* [in] */ REFIID riid,
  5666.             /* [in] */ LCID lcid,
  5667.             /* [in] */ WORD wFlags,
  5668.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  5669.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  5670.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  5671.             /* [out] */ UINT __RPC_FAR *puArgErr);
  5672.         
  5673.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  5674.             ClusResTypeResources __RPC_FAR * This,
  5675.             /* [retval][out] */ LONG __RPC_FAR *pnCount);
  5676.         
  5677.         /* [helpstring][id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
  5678.             ClusResTypeResources __RPC_FAR * This,
  5679.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *retval);
  5680.         
  5681.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  5682.             ClusResTypeResources __RPC_FAR * This);
  5683.         
  5684.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
  5685.             ClusResTypeResources __RPC_FAR * This,
  5686.             /* [in] */ VARIANT varIndex,
  5687.             /* [retval][out] */ ClusResource __RPC_FAR *__RPC_FAR *ppClusResource);
  5688.         
  5689.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateItem )( 
  5690.             ClusResTypeResources __RPC_FAR * This,
  5691.             /* [in] */ BSTR bstrResourceName,
  5692.             /* [in] */ BSTR bstrGroupName,
  5693.             /* [in] */ CLUSTER_RESOURCE_CREATE_FLAGS dwFlags,
  5694.             /* [retval][out] */ ClusResource __RPC_FAR *__RPC_FAR *ppClusterResource);
  5695.         
  5696.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteItem )( 
  5697.             ClusResTypeResources __RPC_FAR * This,
  5698.             /* [in] */ VARIANT varIndex);
  5699.         
  5700.         END_INTERFACE
  5701.     } ClusResTypeResourcesVtbl;
  5702.  
  5703.     interface ClusResTypeResources
  5704.     {
  5705.         CONST_VTBL struct ClusResTypeResourcesVtbl __RPC_FAR *lpVtbl;
  5706.     };
  5707.  
  5708.     
  5709.  
  5710. #ifdef COBJMACROS
  5711.  
  5712.  
  5713. #define ClusResTypeResources_QueryInterface(This,riid,ppvObject)    \
  5714.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5715.  
  5716. #define ClusResTypeResources_AddRef(This)    \
  5717.     (This)->lpVtbl -> AddRef(This)
  5718.  
  5719. #define ClusResTypeResources_Release(This)    \
  5720.     (This)->lpVtbl -> Release(This)
  5721.  
  5722.  
  5723. #define ClusResTypeResources_GetTypeInfoCount(This,pctinfo)    \
  5724.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  5725.  
  5726. #define ClusResTypeResources_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  5727.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  5728.  
  5729. #define ClusResTypeResources_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  5730.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  5731.  
  5732. #define ClusResTypeResources_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  5733.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  5734.  
  5735.  
  5736. #define ClusResTypeResources_get_Count(This,pnCount)    \
  5737.     (This)->lpVtbl -> get_Count(This,pnCount)
  5738.  
  5739. #define ClusResTypeResources_get__NewEnum(This,retval)    \
  5740.     (This)->lpVtbl -> get__NewEnum(This,retval)
  5741.  
  5742. #define ClusResTypeResources_Refresh(This)    \
  5743.     (This)->lpVtbl -> Refresh(This)
  5744.  
  5745.  
  5746. #define ClusResTypeResources_get_Item(This,varIndex,ppClusResource)    \
  5747.     (This)->lpVtbl -> get_Item(This,varIndex,ppClusResource)
  5748.  
  5749. #define ClusResTypeResources_CreateItem(This,bstrResourceName,bstrGroupName,dwFlags,ppClusterResource)    \
  5750.     (This)->lpVtbl -> CreateItem(This,bstrResourceName,bstrGroupName,dwFlags,ppClusterResource)
  5751.  
  5752. #define ClusResTypeResources_DeleteItem(This,varIndex)    \
  5753.     (This)->lpVtbl -> DeleteItem(This,varIndex)
  5754.  
  5755. #endif /* COBJMACROS */
  5756.  
  5757.  
  5758. #endif     /* C style interface */
  5759.  
  5760.  
  5761.  
  5762. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ClusResTypeResources_get_Item_Proxy( 
  5763.     ClusResTypeResources __RPC_FAR * This,
  5764.     /* [in] */ VARIANT varIndex,
  5765.     /* [retval][out] */ ClusResource __RPC_FAR *__RPC_FAR *ppClusResource);
  5766.  
  5767.  
  5768. void __RPC_STUB ClusResTypeResources_get_Item_Stub(
  5769.     IRpcStubBuffer *This,
  5770.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5771.     PRPC_MESSAGE _pRpcMessage,
  5772.     DWORD *_pdwStubPhase);
  5773.  
  5774.  
  5775. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClusResTypeResources_CreateItem_Proxy( 
  5776.     ClusResTypeResources __RPC_FAR * This,
  5777.     /* [in] */ BSTR bstrResourceName,
  5778.     /* [in] */ BSTR bstrGroupName,
  5779.     /* [in] */ CLUSTER_RESOURCE_CREATE_FLAGS dwFlags,
  5780.     /* [retval][out] */ ClusResource __RPC_FAR *__RPC_FAR *ppClusterResource);
  5781.  
  5782.  
  5783. void __RPC_STUB ClusResTypeResources_CreateItem_Stub(
  5784.     IRpcStubBuffer *This,
  5785.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5786.     PRPC_MESSAGE _pRpcMessage,
  5787.     DWORD *_pdwStubPhase);
  5788.  
  5789.  
  5790. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClusResTypeResources_DeleteItem_Proxy( 
  5791.     ClusResTypeResources __RPC_FAR * This,
  5792.     /* [in] */ VARIANT varIndex);
  5793.  
  5794.  
  5795. void __RPC_STUB ClusResTypeResources_DeleteItem_Stub(
  5796.     IRpcStubBuffer *This,
  5797.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5798.     PRPC_MESSAGE _pRpcMessage,
  5799.     DWORD *_pdwStubPhase);
  5800.  
  5801.  
  5802.  
  5803. #endif     /* __ClusResTypeResources_INTERFACE_DEFINED__ */
  5804.  
  5805.  
  5806. #ifndef __ClusResources_INTERFACE_DEFINED__
  5807. #define __ClusResources_INTERFACE_DEFINED__
  5808.  
  5809. /****************************************
  5810.  * Generated header for interface: ClusResources
  5811.  * at Wed Sep 17 12:03:32 1997
  5812.  * using MIDL 3.00.44
  5813.  ****************************************/
  5814. /* [unique][helpstring][dual][uuid][object] */ 
  5815.  
  5816.  
  5817.  
  5818. EXTERN_C const IID IID_ClusResources;
  5819.  
  5820. #if defined(__cplusplus) && !defined(CINTERFACE)
  5821.     
  5822.     interface ClusResources : public ClusObjCollection
  5823.     {
  5824.     public:
  5825.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
  5826.             /* [in] */ VARIANT varIndex,
  5827.             /* [retval][out] */ ClusResource __RPC_FAR *__RPC_FAR *ppClusResource) = 0;
  5828.         
  5829.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateItem( 
  5830.             /* [in] */ BSTR bstrResourceName,
  5831.             /* [in] */ BSTR bstrResourceType,
  5832.             /* [in] */ BSTR bstrGroupName,
  5833.             /* [in] */ CLUSTER_RESOURCE_CREATE_FLAGS dwFlags,
  5834.             /* [retval][out] */ ClusResource __RPC_FAR *__RPC_FAR *ppClusterResource) = 0;
  5835.         
  5836.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DeleteItem( 
  5837.             /* [in] */ VARIANT varIndex) = 0;
  5838.         
  5839.     };
  5840.     
  5841. #else     /* C style interface */
  5842.  
  5843.     typedef struct ClusResourcesVtbl
  5844.     {
  5845.         BEGIN_INTERFACE
  5846.         
  5847.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5848.             ClusResources __RPC_FAR * This,
  5849.             /* [in] */ REFIID riid,
  5850.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5851.         
  5852.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5853.             ClusResources __RPC_FAR * This);
  5854.         
  5855.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5856.             ClusResources __RPC_FAR * This);
  5857.         
  5858.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  5859.             ClusResources __RPC_FAR * This,
  5860.             /* [out] */ UINT __RPC_FAR *pctinfo);
  5861.         
  5862.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  5863.             ClusResources __RPC_FAR * This,
  5864.             /* [in] */ UINT iTInfo,
  5865.             /* [in] */ LCID lcid,
  5866.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  5867.         
  5868.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  5869.             ClusResources __RPC_FAR * This,
  5870.             /* [in] */ REFIID riid,
  5871.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  5872.             /* [in] */ UINT cNames,
  5873.             /* [in] */ LCID lcid,
  5874.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  5875.         
  5876.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  5877.             ClusResources __RPC_FAR * This,
  5878.             /* [in] */ DISPID dispIdMember,
  5879.             /* [in] */ REFIID riid,
  5880.             /* [in] */ LCID lcid,
  5881.             /* [in] */ WORD wFlags,
  5882.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  5883.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  5884.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  5885.             /* [out] */ UINT __RPC_FAR *puArgErr);
  5886.         
  5887.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  5888.             ClusResources __RPC_FAR * This,
  5889.             /* [retval][out] */ LONG __RPC_FAR *pnCount);
  5890.         
  5891.         /* [helpstring][id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
  5892.             ClusResources __RPC_FAR * This,
  5893.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *retval);
  5894.         
  5895.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  5896.             ClusResources __RPC_FAR * This);
  5897.         
  5898.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
  5899.             ClusResources __RPC_FAR * This,
  5900.             /* [in] */ VARIANT varIndex,
  5901.             /* [retval][out] */ ClusResource __RPC_FAR *__RPC_FAR *ppClusResource);
  5902.         
  5903.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateItem )( 
  5904.             ClusResources __RPC_FAR * This,
  5905.             /* [in] */ BSTR bstrResourceName,
  5906.             /* [in] */ BSTR bstrResourceType,
  5907.             /* [in] */ BSTR bstrGroupName,
  5908.             /* [in] */ CLUSTER_RESOURCE_CREATE_FLAGS dwFlags,
  5909.             /* [retval][out] */ ClusResource __RPC_FAR *__RPC_FAR *ppClusterResource);
  5910.         
  5911.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteItem )( 
  5912.             ClusResources __RPC_FAR * This,
  5913.             /* [in] */ VARIANT varIndex);
  5914.         
  5915.         END_INTERFACE
  5916.     } ClusResourcesVtbl;
  5917.  
  5918.     interface ClusResources
  5919.     {
  5920.         CONST_VTBL struct ClusResourcesVtbl __RPC_FAR *lpVtbl;
  5921.     };
  5922.  
  5923.     
  5924.  
  5925. #ifdef COBJMACROS
  5926.  
  5927.  
  5928. #define ClusResources_QueryInterface(This,riid,ppvObject)    \
  5929.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5930.  
  5931. #define ClusResources_AddRef(This)    \
  5932.     (This)->lpVtbl -> AddRef(This)
  5933.  
  5934. #define ClusResources_Release(This)    \
  5935.     (This)->lpVtbl -> Release(This)
  5936.  
  5937.  
  5938. #define ClusResources_GetTypeInfoCount(This,pctinfo)    \
  5939.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  5940.  
  5941. #define ClusResources_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  5942.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  5943.  
  5944. #define ClusResources_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  5945.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  5946.  
  5947. #define ClusResources_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  5948.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  5949.  
  5950.  
  5951. #define ClusResources_get_Count(This,pnCount)    \
  5952.     (This)->lpVtbl -> get_Count(This,pnCount)
  5953.  
  5954. #define ClusResources_get__NewEnum(This,retval)    \
  5955.     (This)->lpVtbl -> get__NewEnum(This,retval)
  5956.  
  5957. #define ClusResources_Refresh(This)    \
  5958.     (This)->lpVtbl -> Refresh(This)
  5959.  
  5960.  
  5961. #define ClusResources_get_Item(This,varIndex,ppClusResource)    \
  5962.     (This)->lpVtbl -> get_Item(This,varIndex,ppClusResource)
  5963.  
  5964. #define ClusResources_CreateItem(This,bstrResourceName,bstrResourceType,bstrGroupName,dwFlags,ppClusterResource)    \
  5965.     (This)->lpVtbl -> CreateItem(This,bstrResourceName,bstrResourceType,bstrGroupName,dwFlags,ppClusterResource)
  5966.  
  5967. #define ClusResources_DeleteItem(This,varIndex)    \
  5968.     (This)->lpVtbl -> DeleteItem(This,varIndex)
  5969.  
  5970. #endif /* COBJMACROS */
  5971.  
  5972.  
  5973. #endif     /* C style interface */
  5974.  
  5975.  
  5976.  
  5977. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ClusResources_get_Item_Proxy( 
  5978.     ClusResources __RPC_FAR * This,
  5979.     /* [in] */ VARIANT varIndex,
  5980.     /* [retval][out] */ ClusResource __RPC_FAR *__RPC_FAR *ppClusResource);
  5981.  
  5982.  
  5983. void __RPC_STUB ClusResources_get_Item_Stub(
  5984.     IRpcStubBuffer *This,
  5985.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5986.     PRPC_MESSAGE _pRpcMessage,
  5987.     DWORD *_pdwStubPhase);
  5988.  
  5989.  
  5990. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClusResources_CreateItem_Proxy( 
  5991.     ClusResources __RPC_FAR * This,
  5992.     /* [in] */ BSTR bstrResourceName,
  5993.     /* [in] */ BSTR bstrResourceType,
  5994.     /* [in] */ BSTR bstrGroupName,
  5995.     /* [in] */ CLUSTER_RESOURCE_CREATE_FLAGS dwFlags,
  5996.     /* [retval][out] */ ClusResource __RPC_FAR *__RPC_FAR *ppClusterResource);
  5997.  
  5998.  
  5999. void __RPC_STUB ClusResources_CreateItem_Stub(
  6000.     IRpcStubBuffer *This,
  6001.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6002.     PRPC_MESSAGE _pRpcMessage,
  6003.     DWORD *_pdwStubPhase);
  6004.  
  6005.  
  6006. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClusResources_DeleteItem_Proxy( 
  6007.     ClusResources __RPC_FAR * This,
  6008.     /* [in] */ VARIANT varIndex);
  6009.  
  6010.  
  6011. void __RPC_STUB ClusResources_DeleteItem_Stub(
  6012.     IRpcStubBuffer *This,
  6013.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6014.     PRPC_MESSAGE _pRpcMessage,
  6015.     DWORD *_pdwStubPhase);
  6016.  
  6017.  
  6018.  
  6019. #endif     /* __ClusResources_INTERFACE_DEFINED__ */
  6020.  
  6021.  
  6022. #ifndef __ClusGroupOwners_INTERFACE_DEFINED__
  6023. #define __ClusGroupOwners_INTERFACE_DEFINED__
  6024.  
  6025. /****************************************
  6026.  * Generated header for interface: ClusGroupOwners
  6027.  * at Wed Sep 17 12:03:32 1997
  6028.  * using MIDL 3.00.44
  6029.  ****************************************/
  6030. /* [unique][helpstring][dual][uuid][object] */ 
  6031.  
  6032.  
  6033.  
  6034. EXTERN_C const IID IID_ClusGroupOwners;
  6035.  
  6036. #if defined(__cplusplus) && !defined(CINTERFACE)
  6037.     
  6038.     interface ClusGroupOwners : public ClusObjCollection
  6039.     {
  6040.     public:
  6041.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
  6042.             /* [in] */ VARIANT varIndex,
  6043.             /* [retval][out] */ ClusNode __RPC_FAR *__RPC_FAR *ppClusNode) = 0;
  6044.         
  6045.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InsertItem( 
  6046.             /* [in] */ ClusNode __RPC_FAR *pClusNode,
  6047.             /* [optional][in] */ LONG nPosition) = 0;
  6048.         
  6049.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveItem( 
  6050.             /* [in] */ VARIANT varIndex) = 0;
  6051.         
  6052.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Modified( 
  6053.             /* [retval][out] */ boolean __RPC_FAR *flag) = 0;
  6054.         
  6055.     };
  6056.     
  6057. #else     /* C style interface */
  6058.  
  6059.     typedef struct ClusGroupOwnersVtbl
  6060.     {
  6061.         BEGIN_INTERFACE
  6062.         
  6063.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6064.             ClusGroupOwners __RPC_FAR * This,
  6065.             /* [in] */ REFIID riid,
  6066.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6067.         
  6068.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6069.             ClusGroupOwners __RPC_FAR * This);
  6070.         
  6071.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6072.             ClusGroupOwners __RPC_FAR * This);
  6073.         
  6074.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  6075.             ClusGroupOwners __RPC_FAR * This,
  6076.             /* [out] */ UINT __RPC_FAR *pctinfo);
  6077.         
  6078.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  6079.             ClusGroupOwners __RPC_FAR * This,
  6080.             /* [in] */ UINT iTInfo,
  6081.             /* [in] */ LCID lcid,
  6082.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  6083.         
  6084.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  6085.             ClusGroupOwners __RPC_FAR * This,
  6086.             /* [in] */ REFIID riid,
  6087.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  6088.             /* [in] */ UINT cNames,
  6089.             /* [in] */ LCID lcid,
  6090.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  6091.         
  6092.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  6093.             ClusGroupOwners __RPC_FAR * This,
  6094.             /* [in] */ DISPID dispIdMember,
  6095.             /* [in] */ REFIID riid,
  6096.             /* [in] */ LCID lcid,
  6097.             /* [in] */ WORD wFlags,
  6098.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  6099.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  6100.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  6101.             /* [out] */ UINT __RPC_FAR *puArgErr);
  6102.         
  6103.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  6104.             ClusGroupOwners __RPC_FAR * This,
  6105.             /* [retval][out] */ LONG __RPC_FAR *pnCount);
  6106.         
  6107.         /* [helpstring][id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
  6108.             ClusGroupOwners __RPC_FAR * This,
  6109.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *retval);
  6110.         
  6111.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  6112.             ClusGroupOwners __RPC_FAR * This);
  6113.         
  6114.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
  6115.             ClusGroupOwners __RPC_FAR * This,
  6116.             /* [in] */ VARIANT varIndex,
  6117.             /* [retval][out] */ ClusNode __RPC_FAR *__RPC_FAR *ppClusNode);
  6118.         
  6119.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InsertItem )( 
  6120.             ClusGroupOwners __RPC_FAR * This,
  6121.             /* [in] */ ClusNode __RPC_FAR *pClusNode,
  6122.             /* [optional][in] */ LONG nPosition);
  6123.         
  6124.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveItem )( 
  6125.             ClusGroupOwners __RPC_FAR * This,
  6126.             /* [in] */ VARIANT varIndex);
  6127.         
  6128.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Modified )( 
  6129.             ClusGroupOwners __RPC_FAR * This,
  6130.             /* [retval][out] */ boolean __RPC_FAR *flag);
  6131.         
  6132.         END_INTERFACE
  6133.     } ClusGroupOwnersVtbl;
  6134.  
  6135.     interface ClusGroupOwners
  6136.     {
  6137.         CONST_VTBL struct ClusGroupOwnersVtbl __RPC_FAR *lpVtbl;
  6138.     };
  6139.  
  6140.     
  6141.  
  6142. #ifdef COBJMACROS
  6143.  
  6144.  
  6145. #define ClusGroupOwners_QueryInterface(This,riid,ppvObject)    \
  6146.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6147.  
  6148. #define ClusGroupOwners_AddRef(This)    \
  6149.     (This)->lpVtbl -> AddRef(This)
  6150.  
  6151. #define ClusGroupOwners_Release(This)    \
  6152.     (This)->lpVtbl -> Release(This)
  6153.  
  6154.  
  6155. #define ClusGroupOwners_GetTypeInfoCount(This,pctinfo)    \
  6156.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  6157.  
  6158. #define ClusGroupOwners_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  6159.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  6160.  
  6161. #define ClusGroupOwners_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  6162.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  6163.  
  6164. #define ClusGroupOwners_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  6165.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  6166.  
  6167.  
  6168. #define ClusGroupOwners_get_Count(This,pnCount)    \
  6169.     (This)->lpVtbl -> get_Count(This,pnCount)
  6170.  
  6171. #define ClusGroupOwners_get__NewEnum(This,retval)    \
  6172.     (This)->lpVtbl -> get__NewEnum(This,retval)
  6173.  
  6174. #define ClusGroupOwners_Refresh(This)    \
  6175.     (This)->lpVtbl -> Refresh(This)
  6176.  
  6177.  
  6178. #define ClusGroupOwners_get_Item(This,varIndex,ppClusNode)    \
  6179.     (This)->lpVtbl -> get_Item(This,varIndex,ppClusNode)
  6180.  
  6181. #define ClusGroupOwners_InsertItem(This,pClusNode,nPosition)    \
  6182.     (This)->lpVtbl -> InsertItem(This,pClusNode,nPosition)
  6183.  
  6184. #define ClusGroupOwners_RemoveItem(This,varIndex)    \
  6185.     (This)->lpVtbl -> RemoveItem(This,varIndex)
  6186.  
  6187. #define ClusGroupOwners_get_Modified(This,flag)    \
  6188.     (This)->lpVtbl -> get_Modified(This,flag)
  6189.  
  6190. #endif /* COBJMACROS */
  6191.  
  6192.  
  6193. #endif     /* C style interface */
  6194.  
  6195.  
  6196.  
  6197. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ClusGroupOwners_get_Item_Proxy( 
  6198.     ClusGroupOwners __RPC_FAR * This,
  6199.     /* [in] */ VARIANT varIndex,
  6200.     /* [retval][out] */ ClusNode __RPC_FAR *__RPC_FAR *ppClusNode);
  6201.  
  6202.  
  6203. void __RPC_STUB ClusGroupOwners_get_Item_Stub(
  6204.     IRpcStubBuffer *This,
  6205.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6206.     PRPC_MESSAGE _pRpcMessage,
  6207.     DWORD *_pdwStubPhase);
  6208.  
  6209.  
  6210. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClusGroupOwners_InsertItem_Proxy( 
  6211.     ClusGroupOwners __RPC_FAR * This,
  6212.     /* [in] */ ClusNode __RPC_FAR *pClusNode,
  6213.     /* [optional][in] */ LONG nPosition);
  6214.  
  6215.  
  6216. void __RPC_STUB ClusGroupOwners_InsertItem_Stub(
  6217.     IRpcStubBuffer *This,
  6218.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6219.     PRPC_MESSAGE _pRpcMessage,
  6220.     DWORD *_pdwStubPhase);
  6221.  
  6222.  
  6223. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClusGroupOwners_RemoveItem_Proxy( 
  6224.     ClusGroupOwners __RPC_FAR * This,
  6225.     /* [in] */ VARIANT varIndex);
  6226.  
  6227.  
  6228. void __RPC_STUB ClusGroupOwners_RemoveItem_Stub(
  6229.     IRpcStubBuffer *This,
  6230.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6231.     PRPC_MESSAGE _pRpcMessage,
  6232.     DWORD *_pdwStubPhase);
  6233.  
  6234.  
  6235. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusGroupOwners_get_Modified_Proxy( 
  6236.     ClusGroupOwners __RPC_FAR * This,
  6237.     /* [retval][out] */ boolean __RPC_FAR *flag);
  6238.  
  6239.  
  6240. void __RPC_STUB ClusGroupOwners_get_Modified_Stub(
  6241.     IRpcStubBuffer *This,
  6242.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6243.     PRPC_MESSAGE _pRpcMessage,
  6244.     DWORD *_pdwStubPhase);
  6245.  
  6246.  
  6247.  
  6248. #endif     /* __ClusGroupOwners_INTERFACE_DEFINED__ */
  6249.  
  6250.  
  6251. #ifndef __ClusResOwners_INTERFACE_DEFINED__
  6252. #define __ClusResOwners_INTERFACE_DEFINED__
  6253.  
  6254. /****************************************
  6255.  * Generated header for interface: ClusResOwners
  6256.  * at Wed Sep 17 12:03:32 1997
  6257.  * using MIDL 3.00.44
  6258.  ****************************************/
  6259. /* [unique][helpstring][dual][uuid][object] */ 
  6260.  
  6261.  
  6262.  
  6263. EXTERN_C const IID IID_ClusResOwners;
  6264.  
  6265. #if defined(__cplusplus) && !defined(CINTERFACE)
  6266.     
  6267.     interface ClusResOwners : public ClusObjCollection
  6268.     {
  6269.     public:
  6270.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
  6271.             /* [in] */ VARIANT varIndex,
  6272.             /* [retval][out] */ ClusNode __RPC_FAR *__RPC_FAR *ppClusNode) = 0;
  6273.         
  6274.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddItem( 
  6275.             /* [in] */ ClusNode __RPC_FAR *pNode) = 0;
  6276.         
  6277.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveItem( 
  6278.             /* [in] */ VARIANT varIndex) = 0;
  6279.         
  6280.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Modified( 
  6281.             /* [retval][out] */ boolean __RPC_FAR *pbflag) = 0;
  6282.         
  6283.     };
  6284.     
  6285. #else     /* C style interface */
  6286.  
  6287.     typedef struct ClusResOwnersVtbl
  6288.     {
  6289.         BEGIN_INTERFACE
  6290.         
  6291.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6292.             ClusResOwners __RPC_FAR * This,
  6293.             /* [in] */ REFIID riid,
  6294.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6295.         
  6296.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6297.             ClusResOwners __RPC_FAR * This);
  6298.         
  6299.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6300.             ClusResOwners __RPC_FAR * This);
  6301.         
  6302.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  6303.             ClusResOwners __RPC_FAR * This,
  6304.             /* [out] */ UINT __RPC_FAR *pctinfo);
  6305.         
  6306.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  6307.             ClusResOwners __RPC_FAR * This,
  6308.             /* [in] */ UINT iTInfo,
  6309.             /* [in] */ LCID lcid,
  6310.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  6311.         
  6312.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  6313.             ClusResOwners __RPC_FAR * This,
  6314.             /* [in] */ REFIID riid,
  6315.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  6316.             /* [in] */ UINT cNames,
  6317.             /* [in] */ LCID lcid,
  6318.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  6319.         
  6320.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  6321.             ClusResOwners __RPC_FAR * This,
  6322.             /* [in] */ DISPID dispIdMember,
  6323.             /* [in] */ REFIID riid,
  6324.             /* [in] */ LCID lcid,
  6325.             /* [in] */ WORD wFlags,
  6326.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  6327.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  6328.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  6329.             /* [out] */ UINT __RPC_FAR *puArgErr);
  6330.         
  6331.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  6332.             ClusResOwners __RPC_FAR * This,
  6333.             /* [retval][out] */ LONG __RPC_FAR *pnCount);
  6334.         
  6335.         /* [helpstring][id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
  6336.             ClusResOwners __RPC_FAR * This,
  6337.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *retval);
  6338.         
  6339.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  6340.             ClusResOwners __RPC_FAR * This);
  6341.         
  6342.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
  6343.             ClusResOwners __RPC_FAR * This,
  6344.             /* [in] */ VARIANT varIndex,
  6345.             /* [retval][out] */ ClusNode __RPC_FAR *__RPC_FAR *ppClusNode);
  6346.         
  6347.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddItem )( 
  6348.             ClusResOwners __RPC_FAR * This,
  6349.             /* [in] */ ClusNode __RPC_FAR *pNode);
  6350.         
  6351.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveItem )( 
  6352.             ClusResOwners __RPC_FAR * This,
  6353.             /* [in] */ VARIANT varIndex);
  6354.         
  6355.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Modified )( 
  6356.             ClusResOwners __RPC_FAR * This,
  6357.             /* [retval][out] */ boolean __RPC_FAR *pbflag);
  6358.         
  6359.         END_INTERFACE
  6360.     } ClusResOwnersVtbl;
  6361.  
  6362.     interface ClusResOwners
  6363.     {
  6364.         CONST_VTBL struct ClusResOwnersVtbl __RPC_FAR *lpVtbl;
  6365.     };
  6366.  
  6367.     
  6368.  
  6369. #ifdef COBJMACROS
  6370.  
  6371.  
  6372. #define ClusResOwners_QueryInterface(This,riid,ppvObject)    \
  6373.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6374.  
  6375. #define ClusResOwners_AddRef(This)    \
  6376.     (This)->lpVtbl -> AddRef(This)
  6377.  
  6378. #define ClusResOwners_Release(This)    \
  6379.     (This)->lpVtbl -> Release(This)
  6380.  
  6381.  
  6382. #define ClusResOwners_GetTypeInfoCount(This,pctinfo)    \
  6383.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  6384.  
  6385. #define ClusResOwners_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  6386.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  6387.  
  6388. #define ClusResOwners_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  6389.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  6390.  
  6391. #define ClusResOwners_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  6392.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  6393.  
  6394.  
  6395. #define ClusResOwners_get_Count(This,pnCount)    \
  6396.     (This)->lpVtbl -> get_Count(This,pnCount)
  6397.  
  6398. #define ClusResOwners_get__NewEnum(This,retval)    \
  6399.     (This)->lpVtbl -> get__NewEnum(This,retval)
  6400.  
  6401. #define ClusResOwners_Refresh(This)    \
  6402.     (This)->lpVtbl -> Refresh(This)
  6403.  
  6404.  
  6405. #define ClusResOwners_get_Item(This,varIndex,ppClusNode)    \
  6406.     (This)->lpVtbl -> get_Item(This,varIndex,ppClusNode)
  6407.  
  6408. #define ClusResOwners_AddItem(This,pNode)    \
  6409.     (This)->lpVtbl -> AddItem(This,pNode)
  6410.  
  6411. #define ClusResOwners_RemoveItem(This,varIndex)    \
  6412.     (This)->lpVtbl -> RemoveItem(This,varIndex)
  6413.  
  6414. #define ClusResOwners_get_Modified(This,pbflag)    \
  6415.     (This)->lpVtbl -> get_Modified(This,pbflag)
  6416.  
  6417. #endif /* COBJMACROS */
  6418.  
  6419.  
  6420. #endif     /* C style interface */
  6421.  
  6422.  
  6423.  
  6424. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ClusResOwners_get_Item_Proxy( 
  6425.     ClusResOwners __RPC_FAR * This,
  6426.     /* [in] */ VARIANT varIndex,
  6427.     /* [retval][out] */ ClusNode __RPC_FAR *__RPC_FAR *ppClusNode);
  6428.  
  6429.  
  6430. void __RPC_STUB ClusResOwners_get_Item_Stub(
  6431.     IRpcStubBuffer *This,
  6432.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6433.     PRPC_MESSAGE _pRpcMessage,
  6434.     DWORD *_pdwStubPhase);
  6435.  
  6436.  
  6437. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClusResOwners_AddItem_Proxy( 
  6438.     ClusResOwners __RPC_FAR * This,
  6439.     /* [in] */ ClusNode __RPC_FAR *pNode);
  6440.  
  6441.  
  6442. void __RPC_STUB ClusResOwners_AddItem_Stub(
  6443.     IRpcStubBuffer *This,
  6444.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6445.     PRPC_MESSAGE _pRpcMessage,
  6446.     DWORD *_pdwStubPhase);
  6447.  
  6448.  
  6449. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClusResOwners_RemoveItem_Proxy( 
  6450.     ClusResOwners __RPC_FAR * This,
  6451.     /* [in] */ VARIANT varIndex);
  6452.  
  6453.  
  6454. void __RPC_STUB ClusResOwners_RemoveItem_Stub(
  6455.     IRpcStubBuffer *This,
  6456.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6457.     PRPC_MESSAGE _pRpcMessage,
  6458.     DWORD *_pdwStubPhase);
  6459.  
  6460.  
  6461. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusResOwners_get_Modified_Proxy( 
  6462.     ClusResOwners __RPC_FAR * This,
  6463.     /* [retval][out] */ boolean __RPC_FAR *pbflag);
  6464.  
  6465.  
  6466. void __RPC_STUB ClusResOwners_get_Modified_Stub(
  6467.     IRpcStubBuffer *This,
  6468.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6469.     PRPC_MESSAGE _pRpcMessage,
  6470.     DWORD *_pdwStubPhase);
  6471.  
  6472.  
  6473.  
  6474. #endif     /* __ClusResOwners_INTERFACE_DEFINED__ */
  6475.  
  6476.  
  6477. #ifndef __ClusResType_INTERFACE_DEFINED__
  6478. #define __ClusResType_INTERFACE_DEFINED__
  6479.  
  6480. /****************************************
  6481.  * Generated header for interface: ClusResType
  6482.  * at Wed Sep 17 12:03:32 1997
  6483.  * using MIDL 3.00.44
  6484.  ****************************************/
  6485. /* [unique][helpstring][dual][uuid][object] */ 
  6486.  
  6487.  
  6488.  
  6489. EXTERN_C const IID IID_ClusResType;
  6490.  
  6491. #if defined(__cplusplus) && !defined(CINTERFACE)
  6492.     
  6493.     interface ClusResType : public ClusObj
  6494.     {
  6495.     public:
  6496.         virtual HRESULT STDMETHODCALLTYPE Delete( void) = 0;
  6497.         
  6498.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Cluster( 
  6499.             /* [retval][out] */ ICluster __RPC_FAR *__RPC_FAR *ppCluster) = 0;
  6500.         
  6501.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Resources( 
  6502.             /* [retval][out] */ ClusResTypeResources __RPC_FAR *__RPC_FAR *ppClusterResTypeResources) = 0;
  6503.         
  6504.     };
  6505.     
  6506. #else     /* C style interface */
  6507.  
  6508.     typedef struct ClusResTypeVtbl
  6509.     {
  6510.         BEGIN_INTERFACE
  6511.         
  6512.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6513.             ClusResType __RPC_FAR * This,
  6514.             /* [in] */ REFIID riid,
  6515.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6516.         
  6517.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6518.             ClusResType __RPC_FAR * This);
  6519.         
  6520.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6521.             ClusResType __RPC_FAR * This);
  6522.         
  6523.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  6524.             ClusResType __RPC_FAR * This,
  6525.             /* [out] */ UINT __RPC_FAR *pctinfo);
  6526.         
  6527.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  6528.             ClusResType __RPC_FAR * This,
  6529.             /* [in] */ UINT iTInfo,
  6530.             /* [in] */ LCID lcid,
  6531.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  6532.         
  6533.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  6534.             ClusResType __RPC_FAR * This,
  6535.             /* [in] */ REFIID riid,
  6536.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  6537.             /* [in] */ UINT cNames,
  6538.             /* [in] */ LCID lcid,
  6539.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  6540.         
  6541.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  6542.             ClusResType __RPC_FAR * This,
  6543.             /* [in] */ DISPID dispIdMember,
  6544.             /* [in] */ REFIID riid,
  6545.             /* [in] */ LCID lcid,
  6546.             /* [in] */ WORD wFlags,
  6547.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  6548.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  6549.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  6550.             /* [out] */ UINT __RPC_FAR *puArgErr);
  6551.         
  6552.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
  6553.             ClusResType __RPC_FAR * This,
  6554.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  6555.         
  6556.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CommonProperties )( 
  6557.             ClusResType __RPC_FAR * This,
  6558.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  6559.         
  6560.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PrivateProperties )( 
  6561.             ClusResType __RPC_FAR * This,
  6562.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  6563.         
  6564.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CommonROProperties )( 
  6565.             ClusResType __RPC_FAR * This,
  6566.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  6567.         
  6568.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PrivateROProperties )( 
  6569.             ClusResType __RPC_FAR * This,
  6570.             /* [retval][out] */ ClusProperties __RPC_FAR *__RPC_FAR *ppProperties);
  6571.         
  6572.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
  6573.             ClusResType __RPC_FAR * This);
  6574.         
  6575.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Cluster )( 
  6576.             ClusResType __RPC_FAR * This,
  6577.             /* [retval][out] */ ICluster __RPC_FAR *__RPC_FAR *ppCluster);
  6578.         
  6579.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Resources )( 
  6580.             ClusResType __RPC_FAR * This,
  6581.             /* [retval][out] */ ClusResTypeResources __RPC_FAR *__RPC_FAR *ppClusterResTypeResources);
  6582.         
  6583.         END_INTERFACE
  6584.     } ClusResTypeVtbl;
  6585.  
  6586.     interface ClusResType
  6587.     {
  6588.         CONST_VTBL struct ClusResTypeVtbl __RPC_FAR *lpVtbl;
  6589.     };
  6590.  
  6591.     
  6592.  
  6593. #ifdef COBJMACROS
  6594.  
  6595.  
  6596. #define ClusResType_QueryInterface(This,riid,ppvObject)    \
  6597.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6598.  
  6599. #define ClusResType_AddRef(This)    \
  6600.     (This)->lpVtbl -> AddRef(This)
  6601.  
  6602. #define ClusResType_Release(This)    \
  6603.     (This)->lpVtbl -> Release(This)
  6604.  
  6605.  
  6606. #define ClusResType_GetTypeInfoCount(This,pctinfo)    \
  6607.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  6608.  
  6609. #define ClusResType_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  6610.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  6611.  
  6612. #define ClusResType_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  6613.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  6614.  
  6615. #define ClusResType_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  6616.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  6617.  
  6618.  
  6619. #define ClusResType_get_Name(This,pbstrName)    \
  6620.     (This)->lpVtbl -> get_Name(This,pbstrName)
  6621.  
  6622. #define ClusResType_get_CommonProperties(This,ppProperties)    \
  6623.     (This)->lpVtbl -> get_CommonProperties(This,ppProperties)
  6624.  
  6625. #define ClusResType_get_PrivateProperties(This,ppProperties)    \
  6626.     (This)->lpVtbl -> get_PrivateProperties(This,ppProperties)
  6627.  
  6628. #define ClusResType_get_CommonROProperties(This,ppProperties)    \
  6629.     (This)->lpVtbl -> get_CommonROProperties(This,ppProperties)
  6630.  
  6631. #define ClusResType_get_PrivateROProperties(This,ppProperties)    \
  6632.     (This)->lpVtbl -> get_PrivateROProperties(This,ppProperties)
  6633.  
  6634.  
  6635. #define ClusResType_Delete(This)    \
  6636.     (This)->lpVtbl -> Delete(This)
  6637.  
  6638. #define ClusResType_get_Cluster(This,ppCluster)    \
  6639.     (This)->lpVtbl -> get_Cluster(This,ppCluster)
  6640.  
  6641. #define ClusResType_get_Resources(This,ppClusterResTypeResources)    \
  6642.     (This)->lpVtbl -> get_Resources(This,ppClusterResTypeResources)
  6643.  
  6644. #endif /* COBJMACROS */
  6645.  
  6646.  
  6647. #endif     /* C style interface */
  6648.  
  6649.  
  6650.  
  6651. HRESULT STDMETHODCALLTYPE ClusResType_Delete_Proxy( 
  6652.     ClusResType __RPC_FAR * This);
  6653.  
  6654.  
  6655. void __RPC_STUB ClusResType_Delete_Stub(
  6656.     IRpcStubBuffer *This,
  6657.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6658.     PRPC_MESSAGE _pRpcMessage,
  6659.     DWORD *_pdwStubPhase);
  6660.  
  6661.  
  6662. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusResType_get_Cluster_Proxy( 
  6663.     ClusResType __RPC_FAR * This,
  6664.     /* [retval][out] */ ICluster __RPC_FAR *__RPC_FAR *ppCluster);
  6665.  
  6666.  
  6667. void __RPC_STUB ClusResType_get_Cluster_Stub(
  6668.     IRpcStubBuffer *This,
  6669.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6670.     PRPC_MESSAGE _pRpcMessage,
  6671.     DWORD *_pdwStubPhase);
  6672.  
  6673.  
  6674. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusResType_get_Resources_Proxy( 
  6675.     ClusResType __RPC_FAR * This,
  6676.     /* [retval][out] */ ClusResTypeResources __RPC_FAR *__RPC_FAR *ppClusterResTypeResources);
  6677.  
  6678.  
  6679. void __RPC_STUB ClusResType_get_Resources_Stub(
  6680.     IRpcStubBuffer *This,
  6681.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6682.     PRPC_MESSAGE _pRpcMessage,
  6683.     DWORD *_pdwStubPhase);
  6684.  
  6685.  
  6686.  
  6687. #endif     /* __ClusResType_INTERFACE_DEFINED__ */
  6688.  
  6689.  
  6690. #ifndef __ClusResTypes_INTERFACE_DEFINED__
  6691. #define __ClusResTypes_INTERFACE_DEFINED__
  6692.  
  6693. /****************************************
  6694.  * Generated header for interface: ClusResTypes
  6695.  * at Wed Sep 17 12:03:32 1997
  6696.  * using MIDL 3.00.44
  6697.  ****************************************/
  6698. /* [unique][helpstring][dual][uuid][object] */ 
  6699.  
  6700.  
  6701.  
  6702. EXTERN_C const IID IID_ClusResTypes;
  6703.  
  6704. #if defined(__cplusplus) && !defined(CINTERFACE)
  6705.     
  6706.     interface ClusResTypes : public ClusObjCollection
  6707.     {
  6708.     public:
  6709.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
  6710.             /* [in] */ VARIANT varIndex,
  6711.             /* [retval][out] */ ClusResType __RPC_FAR *__RPC_FAR *ppClusResType) = 0;
  6712.         
  6713.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateItem( 
  6714.             /* [in] */ BSTR bstrResourceTypeName,
  6715.             /* [in] */ BSTR bstrDisplayName,
  6716.             /* [in] */ BSTR bstrResourceTypeDll,
  6717.             /* [in] */ LONG dwLooksAlivePollInterval,
  6718.             /* [in] */ LONG dwIsAlivePollInterval,
  6719.             /* [retval][out] */ ClusResType __RPC_FAR *__RPC_FAR *ppResourceType) = 0;
  6720.         
  6721.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DeleteItem( 
  6722.             /* [in] */ VARIANT varIndex) = 0;
  6723.         
  6724.     };
  6725.     
  6726. #else     /* C style interface */
  6727.  
  6728.     typedef struct ClusResTypesVtbl
  6729.     {
  6730.         BEGIN_INTERFACE
  6731.         
  6732.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6733.             ClusResTypes __RPC_FAR * This,
  6734.             /* [in] */ REFIID riid,
  6735.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6736.         
  6737.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6738.             ClusResTypes __RPC_FAR * This);
  6739.         
  6740.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6741.             ClusResTypes __RPC_FAR * This);
  6742.         
  6743.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  6744.             ClusResTypes __RPC_FAR * This,
  6745.             /* [out] */ UINT __RPC_FAR *pctinfo);
  6746.         
  6747.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  6748.             ClusResTypes __RPC_FAR * This,
  6749.             /* [in] */ UINT iTInfo,
  6750.             /* [in] */ LCID lcid,
  6751.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  6752.         
  6753.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  6754.             ClusResTypes __RPC_FAR * This,
  6755.             /* [in] */ REFIID riid,
  6756.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  6757.             /* [in] */ UINT cNames,
  6758.             /* [in] */ LCID lcid,
  6759.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  6760.         
  6761.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  6762.             ClusResTypes __RPC_FAR * This,
  6763.             /* [in] */ DISPID dispIdMember,
  6764.             /* [in] */ REFIID riid,
  6765.             /* [in] */ LCID lcid,
  6766.             /* [in] */ WORD wFlags,
  6767.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  6768.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  6769.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  6770.             /* [out] */ UINT __RPC_FAR *puArgErr);
  6771.         
  6772.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  6773.             ClusResTypes __RPC_FAR * This,
  6774.             /* [retval][out] */ LONG __RPC_FAR *pnCount);
  6775.         
  6776.         /* [helpstring][id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
  6777.             ClusResTypes __RPC_FAR * This,
  6778.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *retval);
  6779.         
  6780.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  6781.             ClusResTypes __RPC_FAR * This);
  6782.         
  6783.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
  6784.             ClusResTypes __RPC_FAR * This,
  6785.             /* [in] */ VARIANT varIndex,
  6786.             /* [retval][out] */ ClusResType __RPC_FAR *__RPC_FAR *ppClusResType);
  6787.         
  6788.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateItem )( 
  6789.             ClusResTypes __RPC_FAR * This,
  6790.             /* [in] */ BSTR bstrResourceTypeName,
  6791.             /* [in] */ BSTR bstrDisplayName,
  6792.             /* [in] */ BSTR bstrResourceTypeDll,
  6793.             /* [in] */ LONG dwLooksAlivePollInterval,
  6794.             /* [in] */ LONG dwIsAlivePollInterval,
  6795.             /* [retval][out] */ ClusResType __RPC_FAR *__RPC_FAR *ppResourceType);
  6796.         
  6797.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteItem )( 
  6798.             ClusResTypes __RPC_FAR * This,
  6799.             /* [in] */ VARIANT varIndex);
  6800.         
  6801.         END_INTERFACE
  6802.     } ClusResTypesVtbl;
  6803.  
  6804.     interface ClusResTypes
  6805.     {
  6806.         CONST_VTBL struct ClusResTypesVtbl __RPC_FAR *lpVtbl;
  6807.     };
  6808.  
  6809.     
  6810.  
  6811. #ifdef COBJMACROS
  6812.  
  6813.  
  6814. #define ClusResTypes_QueryInterface(This,riid,ppvObject)    \
  6815.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6816.  
  6817. #define ClusResTypes_AddRef(This)    \
  6818.     (This)->lpVtbl -> AddRef(This)
  6819.  
  6820. #define ClusResTypes_Release(This)    \
  6821.     (This)->lpVtbl -> Release(This)
  6822.  
  6823.  
  6824. #define ClusResTypes_GetTypeInfoCount(This,pctinfo)    \
  6825.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  6826.  
  6827. #define ClusResTypes_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  6828.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  6829.  
  6830. #define ClusResTypes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  6831.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  6832.  
  6833. #define ClusResTypes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  6834.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  6835.  
  6836.  
  6837. #define ClusResTypes_get_Count(This,pnCount)    \
  6838.     (This)->lpVtbl -> get_Count(This,pnCount)
  6839.  
  6840. #define ClusResTypes_get__NewEnum(This,retval)    \
  6841.     (This)->lpVtbl -> get__NewEnum(This,retval)
  6842.  
  6843. #define ClusResTypes_Refresh(This)    \
  6844.     (This)->lpVtbl -> Refresh(This)
  6845.  
  6846.  
  6847. #define ClusResTypes_get_Item(This,varIndex,ppClusResType)    \
  6848.     (This)->lpVtbl -> get_Item(This,varIndex,ppClusResType)
  6849.  
  6850. #define ClusResTypes_CreateItem(This,bstrResourceTypeName,bstrDisplayName,bstrResourceTypeDll,dwLooksAlivePollInterval,dwIsAlivePollInterval,ppResourceType)    \
  6851.     (This)->lpVtbl -> CreateItem(This,bstrResourceTypeName,bstrDisplayName,bstrResourceTypeDll,dwLooksAlivePollInterval,dwIsAlivePollInterval,ppResourceType)
  6852.  
  6853. #define ClusResTypes_DeleteItem(This,varIndex)    \
  6854.     (This)->lpVtbl -> DeleteItem(This,varIndex)
  6855.  
  6856. #endif /* COBJMACROS */
  6857.  
  6858.  
  6859. #endif     /* C style interface */
  6860.  
  6861.  
  6862.  
  6863. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ClusResTypes_get_Item_Proxy( 
  6864.     ClusResTypes __RPC_FAR * This,
  6865.     /* [in] */ VARIANT varIndex,
  6866.     /* [retval][out] */ ClusResType __RPC_FAR *__RPC_FAR *ppClusResType);
  6867.  
  6868.  
  6869. void __RPC_STUB ClusResTypes_get_Item_Stub(
  6870.     IRpcStubBuffer *This,
  6871.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6872.     PRPC_MESSAGE _pRpcMessage,
  6873.     DWORD *_pdwStubPhase);
  6874.  
  6875.  
  6876. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClusResTypes_CreateItem_Proxy( 
  6877.     ClusResTypes __RPC_FAR * This,
  6878.     /* [in] */ BSTR bstrResourceTypeName,
  6879.     /* [in] */ BSTR bstrDisplayName,
  6880.     /* [in] */ BSTR bstrResourceTypeDll,
  6881.     /* [in] */ LONG dwLooksAlivePollInterval,
  6882.     /* [in] */ LONG dwIsAlivePollInterval,
  6883.     /* [retval][out] */ ClusResType __RPC_FAR *__RPC_FAR *ppResourceType);
  6884.  
  6885.  
  6886. void __RPC_STUB ClusResTypes_CreateItem_Stub(
  6887.     IRpcStubBuffer *This,
  6888.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6889.     PRPC_MESSAGE _pRpcMessage,
  6890.     DWORD *_pdwStubPhase);
  6891.  
  6892.  
  6893. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClusResTypes_DeleteItem_Proxy( 
  6894.     ClusResTypes __RPC_FAR * This,
  6895.     /* [in] */ VARIANT varIndex);
  6896.  
  6897.  
  6898. void __RPC_STUB ClusResTypes_DeleteItem_Stub(
  6899.     IRpcStubBuffer *This,
  6900.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6901.     PRPC_MESSAGE _pRpcMessage,
  6902.     DWORD *_pdwStubPhase);
  6903.  
  6904.  
  6905.  
  6906. #endif     /* __ClusResTypes_INTERFACE_DEFINED__ */
  6907.  
  6908.  
  6909. #ifndef __ClusProperty_INTERFACE_DEFINED__
  6910. #define __ClusProperty_INTERFACE_DEFINED__
  6911.  
  6912. /****************************************
  6913.  * Generated header for interface: ClusProperty
  6914.  * at Wed Sep 17 12:03:32 1997
  6915.  * using MIDL 3.00.44
  6916.  ****************************************/
  6917. /* [unique][helpstring][dual][uuid][object] */ 
  6918.  
  6919.  
  6920.  
  6921. EXTERN_C const IID IID_ClusProperty;
  6922.  
  6923. #if defined(__cplusplus) && !defined(CINTERFACE)
  6924.     
  6925.     interface ClusProperty : public IDispatch
  6926.     {
  6927.     public:
  6928.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  6929.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName) = 0;
  6930.         
  6931.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Value( 
  6932.             /* [retval][out] */ VARIANT __RPC_FAR *pvarValue) = 0;
  6933.         
  6934.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Value( 
  6935.             /* [in] */ VARIANT varValue) = 0;
  6936.         
  6937.     };
  6938.     
  6939. #else     /* C style interface */
  6940.  
  6941.     typedef struct ClusPropertyVtbl
  6942.     {
  6943.         BEGIN_INTERFACE
  6944.         
  6945.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6946.             ClusProperty __RPC_FAR * This,
  6947.             /* [in] */ REFIID riid,
  6948.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6949.         
  6950.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6951.             ClusProperty __RPC_FAR * This);
  6952.         
  6953.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6954.             ClusProperty __RPC_FAR * This);
  6955.         
  6956.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  6957.             ClusProperty __RPC_FAR * This,
  6958.             /* [out] */ UINT __RPC_FAR *pctinfo);
  6959.         
  6960.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  6961.             ClusProperty __RPC_FAR * This,
  6962.             /* [in] */ UINT iTInfo,
  6963.             /* [in] */ LCID lcid,
  6964.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  6965.         
  6966.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  6967.             ClusProperty __RPC_FAR * This,
  6968.             /* [in] */ REFIID riid,
  6969.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  6970.             /* [in] */ UINT cNames,
  6971.             /* [in] */ LCID lcid,
  6972.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  6973.         
  6974.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  6975.             ClusProperty __RPC_FAR * This,
  6976.             /* [in] */ DISPID dispIdMember,
  6977.             /* [in] */ REFIID riid,
  6978.             /* [in] */ LCID lcid,
  6979.             /* [in] */ WORD wFlags,
  6980.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  6981.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  6982.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  6983.             /* [out] */ UINT __RPC_FAR *puArgErr);
  6984.         
  6985.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
  6986.             ClusProperty __RPC_FAR * This,
  6987.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  6988.         
  6989.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Value )( 
  6990.             ClusProperty __RPC_FAR * This,
  6991.             /* [retval][out] */ VARIANT __RPC_FAR *pvarValue);
  6992.         
  6993.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Value )( 
  6994.             ClusProperty __RPC_FAR * This,
  6995.             /* [in] */ VARIANT varValue);
  6996.         
  6997.         END_INTERFACE
  6998.     } ClusPropertyVtbl;
  6999.  
  7000.     interface ClusProperty
  7001.     {
  7002.         CONST_VTBL struct ClusPropertyVtbl __RPC_FAR *lpVtbl;
  7003.     };
  7004.  
  7005.     
  7006.  
  7007. #ifdef COBJMACROS
  7008.  
  7009.  
  7010. #define ClusProperty_QueryInterface(This,riid,ppvObject)    \
  7011.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7012.  
  7013. #define ClusProperty_AddRef(This)    \
  7014.     (This)->lpVtbl -> AddRef(This)
  7015.  
  7016. #define ClusProperty_Release(This)    \
  7017.     (This)->lpVtbl -> Release(This)
  7018.  
  7019.  
  7020. #define ClusProperty_GetTypeInfoCount(This,pctinfo)    \
  7021.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  7022.  
  7023. #define ClusProperty_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  7024.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  7025.  
  7026. #define ClusProperty_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  7027.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  7028.  
  7029. #define ClusProperty_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  7030.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  7031.  
  7032.  
  7033. #define ClusProperty_get_Name(This,pbstrName)    \
  7034.     (This)->lpVtbl -> get_Name(This,pbstrName)
  7035.  
  7036. #define ClusProperty_get_Value(This,pvarValue)    \
  7037.     (This)->lpVtbl -> get_Value(This,pvarValue)
  7038.  
  7039. #define ClusProperty_put_Value(This,varValue)    \
  7040.     (This)->lpVtbl -> put_Value(This,varValue)
  7041.  
  7042. #endif /* COBJMACROS */
  7043.  
  7044.  
  7045. #endif     /* C style interface */
  7046.  
  7047.  
  7048.  
  7049. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusProperty_get_Name_Proxy( 
  7050.     ClusProperty __RPC_FAR * This,
  7051.     /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  7052.  
  7053.  
  7054. void __RPC_STUB ClusProperty_get_Name_Stub(
  7055.     IRpcStubBuffer *This,
  7056.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7057.     PRPC_MESSAGE _pRpcMessage,
  7058.     DWORD *_pdwStubPhase);
  7059.  
  7060.  
  7061. /* [propget] */ HRESULT STDMETHODCALLTYPE ClusProperty_get_Value_Proxy( 
  7062.     ClusProperty __RPC_FAR * This,
  7063.     /* [retval][out] */ VARIANT __RPC_FAR *pvarValue);
  7064.  
  7065.  
  7066. void __RPC_STUB ClusProperty_get_Value_Stub(
  7067.     IRpcStubBuffer *This,
  7068.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7069.     PRPC_MESSAGE _pRpcMessage,
  7070.     DWORD *_pdwStubPhase);
  7071.  
  7072.  
  7073. /* [id][propput] */ HRESULT STDMETHODCALLTYPE ClusProperty_put_Value_Proxy( 
  7074.     ClusProperty __RPC_FAR * This,
  7075.     /* [in] */ VARIANT varValue);
  7076.  
  7077.  
  7078. void __RPC_STUB ClusProperty_put_Value_Stub(
  7079.     IRpcStubBuffer *This,
  7080.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7081.     PRPC_MESSAGE _pRpcMessage,
  7082.     DWORD *_pdwStubPhase);
  7083.  
  7084.  
  7085.  
  7086. #endif     /* __ClusProperty_INTERFACE_DEFINED__ */
  7087.  
  7088.  
  7089. #ifndef __ClusProperties_INTERFACE_DEFINED__
  7090. #define __ClusProperties_INTERFACE_DEFINED__
  7091.  
  7092. /****************************************
  7093.  * Generated header for interface: ClusProperties
  7094.  * at Wed Sep 17 12:03:32 1997
  7095.  * using MIDL 3.00.44
  7096.  ****************************************/
  7097. /* [unique][helpstring][dual][uuid][object] */ 
  7098.  
  7099.  
  7100.  
  7101. EXTERN_C const IID IID_ClusProperties;
  7102.  
  7103. #if defined(__cplusplus) && !defined(CINTERFACE)
  7104.     
  7105.     interface ClusProperties : public ClusObjCollection
  7106.     {
  7107.     public:
  7108.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
  7109.             /* [in] */ VARIANT varIndex,
  7110.             /* [retval][out] */ ClusProperty __RPC_FAR *__RPC_FAR *ppClusProperty) = 0;
  7111.         
  7112.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Add( 
  7113.             /* [in] */ BSTR bstrName,
  7114.             /* [in] */ VARIANT varValue,
  7115.             /* [retval][out] */ ClusProperty __RPC_FAR *__RPC_FAR *pProperty) = 0;
  7116.         
  7117.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
  7118.             /* [in] */ VARIANT varIndex) = 0;
  7119.         
  7120.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveChanges( void) = 0;
  7121.         
  7122.     };
  7123.     
  7124. #else     /* C style interface */
  7125.  
  7126.     typedef struct ClusPropertiesVtbl
  7127.     {
  7128.         BEGIN_INTERFACE
  7129.         
  7130.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  7131.             ClusProperties __RPC_FAR * This,
  7132.             /* [in] */ REFIID riid,
  7133.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7134.         
  7135.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  7136.             ClusProperties __RPC_FAR * This);
  7137.         
  7138.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  7139.             ClusProperties __RPC_FAR * This);
  7140.         
  7141.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  7142.             ClusProperties __RPC_FAR * This,
  7143.             /* [out] */ UINT __RPC_FAR *pctinfo);
  7144.         
  7145.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  7146.             ClusProperties __RPC_FAR * This,
  7147.             /* [in] */ UINT iTInfo,
  7148.             /* [in] */ LCID lcid,
  7149.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  7150.         
  7151.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  7152.             ClusProperties __RPC_FAR * This,
  7153.             /* [in] */ REFIID riid,
  7154.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  7155.             /* [in] */ UINT cNames,
  7156.             /* [in] */ LCID lcid,
  7157.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  7158.         
  7159.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  7160.             ClusProperties __RPC_FAR * This,
  7161.             /* [in] */ DISPID dispIdMember,
  7162.             /* [in] */ REFIID riid,
  7163.             /* [in] */ LCID lcid,
  7164.             /* [in] */ WORD wFlags,
  7165.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  7166.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  7167.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  7168.             /* [out] */ UINT __RPC_FAR *puArgErr);
  7169.         
  7170.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  7171.             ClusProperties __RPC_FAR * This,
  7172.             /* [retval][out] */ LONG __RPC_FAR *pnCount);
  7173.         
  7174.         /* [helpstring][id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
  7175.             ClusProperties __RPC_FAR * This,
  7176.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *retval);
  7177.         
  7178.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  7179.             ClusProperties __RPC_FAR * This);
  7180.         
  7181.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
  7182.             ClusProperties __RPC_FAR * This,
  7183.             /* [in] */ VARIANT varIndex,
  7184.             /* [retval][out] */ ClusProperty __RPC_FAR *__RPC_FAR *ppClusProperty);
  7185.         
  7186.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add )( 
  7187.             ClusProperties __RPC_FAR * This,
  7188.             /* [in] */ BSTR bstrName,
  7189.             /* [in] */ VARIANT varValue,
  7190.             /* [retval][out] */ ClusProperty __RPC_FAR *__RPC_FAR *pProperty);
  7191.         
  7192.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Remove )( 
  7193.             ClusProperties __RPC_FAR * This,
  7194.             /* [in] */ VARIANT varIndex);
  7195.         
  7196.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SaveChanges )( 
  7197.             ClusProperties __RPC_FAR * This);
  7198.         
  7199.         END_INTERFACE
  7200.     } ClusPropertiesVtbl;
  7201.  
  7202.     interface ClusProperties
  7203.     {
  7204.         CONST_VTBL struct ClusPropertiesVtbl __RPC_FAR *lpVtbl;
  7205.     };
  7206.  
  7207.     
  7208.  
  7209. #ifdef COBJMACROS
  7210.  
  7211.  
  7212. #define ClusProperties_QueryInterface(This,riid,ppvObject)    \
  7213.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7214.  
  7215. #define ClusProperties_AddRef(This)    \
  7216.     (This)->lpVtbl -> AddRef(This)
  7217.  
  7218. #define ClusProperties_Release(This)    \
  7219.     (This)->lpVtbl -> Release(This)
  7220.  
  7221.  
  7222. #define ClusProperties_GetTypeInfoCount(This,pctinfo)    \
  7223.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  7224.  
  7225. #define ClusProperties_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  7226.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  7227.  
  7228. #define ClusProperties_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  7229.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  7230.  
  7231. #define ClusProperties_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  7232.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  7233.  
  7234.  
  7235. #define ClusProperties_get_Count(This,pnCount)    \
  7236.     (This)->lpVtbl -> get_Count(This,pnCount)
  7237.  
  7238. #define ClusProperties_get__NewEnum(This,retval)    \
  7239.     (This)->lpVtbl -> get__NewEnum(This,retval)
  7240.  
  7241. #define ClusProperties_Refresh(This)    \
  7242.     (This)->lpVtbl -> Refresh(This)
  7243.  
  7244.  
  7245. #define ClusProperties_get_Item(This,varIndex,ppClusProperty)    \
  7246.     (This)->lpVtbl -> get_Item(This,varIndex,ppClusProperty)
  7247.  
  7248. #define ClusProperties_Add(This,bstrName,varValue,pProperty)    \
  7249.     (This)->lpVtbl -> Add(This,bstrName,varValue,pProperty)
  7250.  
  7251. #define ClusProperties_Remove(This,varIndex)    \
  7252.     (This)->lpVtbl -> Remove(This,varIndex)
  7253.  
  7254. #define ClusProperties_SaveChanges(This)    \
  7255.     (This)->lpVtbl -> SaveChanges(This)
  7256.  
  7257. #endif /* COBJMACROS */
  7258.  
  7259.  
  7260. #endif     /* C style interface */
  7261.  
  7262.  
  7263.  
  7264. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ClusProperties_get_Item_Proxy( 
  7265.     ClusProperties __RPC_FAR * This,
  7266.     /* [in] */ VARIANT varIndex,
  7267.     /* [retval][out] */ ClusProperty __RPC_FAR *__RPC_FAR *ppClusProperty);
  7268.  
  7269.  
  7270. void __RPC_STUB ClusProperties_get_Item_Stub(
  7271.     IRpcStubBuffer *This,
  7272.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7273.     PRPC_MESSAGE _pRpcMessage,
  7274.     DWORD *_pdwStubPhase);
  7275.  
  7276.  
  7277. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClusProperties_Add_Proxy( 
  7278.     ClusProperties __RPC_FAR * This,
  7279.     /* [in] */ BSTR bstrName,
  7280.     /* [in] */ VARIANT varValue,
  7281.     /* [retval][out] */ ClusProperty __RPC_FAR *__RPC_FAR *pProperty);
  7282.  
  7283.  
  7284. void __RPC_STUB ClusProperties_Add_Stub(
  7285.     IRpcStubBuffer *This,
  7286.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7287.     PRPC_MESSAGE _pRpcMessage,
  7288.     DWORD *_pdwStubPhase);
  7289.  
  7290.  
  7291. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClusProperties_Remove_Proxy( 
  7292.     ClusProperties __RPC_FAR * This,
  7293.     /* [in] */ VARIANT varIndex);
  7294.  
  7295.  
  7296. void __RPC_STUB ClusProperties_Remove_Stub(
  7297.     IRpcStubBuffer *This,
  7298.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7299.     PRPC_MESSAGE _pRpcMessage,
  7300.     DWORD *_pdwStubPhase);
  7301.  
  7302.  
  7303. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClusProperties_SaveChanges_Proxy( 
  7304.     ClusProperties __RPC_FAR * This);
  7305.  
  7306.  
  7307. void __RPC_STUB ClusProperties_SaveChanges_Stub(
  7308.     IRpcStubBuffer *This,
  7309.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7310.     PRPC_MESSAGE _pRpcMessage,
  7311.     DWORD *_pdwStubPhase);
  7312.  
  7313.  
  7314.  
  7315. #endif     /* __ClusProperties_INTERFACE_DEFINED__ */
  7316.  
  7317.  
  7318.  
  7319. #ifndef __MSClusterLib_LIBRARY_DEFINED__
  7320. #define __MSClusterLib_LIBRARY_DEFINED__
  7321.  
  7322. /****************************************
  7323.  * Generated header for library: MSClusterLib
  7324.  * at Wed Sep 17 12:03:32 1997
  7325.  * using MIDL 3.00.44
  7326.  ****************************************/
  7327. /* [helpstring][version][uuid] */ 
  7328.  
  7329.  
  7330.  
  7331. EXTERN_C const IID LIBID_MSClusterLib;
  7332.  
  7333. #ifdef __cplusplus
  7334. EXTERN_C const CLSID CLSID_Application;
  7335.  
  7336. class Application;
  7337. #endif
  7338.  
  7339. #ifdef __cplusplus
  7340. EXTERN_C const CLSID CLSID_Cluster;
  7341.  
  7342. class Cluster;
  7343. #endif
  7344. #endif /* __MSClusterLib_LIBRARY_DEFINED__ */
  7345.  
  7346. /* Additional Prototypes for ALL interfaces */
  7347.  
  7348. unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long __RPC_FAR *, unsigned long            , BSTR __RPC_FAR * ); 
  7349. unsigned char __RPC_FAR * __RPC_USER  BSTR_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
  7350. unsigned char __RPC_FAR * __RPC_USER  BSTR_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
  7351. void                      __RPC_USER  BSTR_UserFree(     unsigned long __RPC_FAR *, BSTR __RPC_FAR * ); 
  7352.  
  7353. unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long __RPC_FAR *, unsigned long            , VARIANT __RPC_FAR * ); 
  7354. unsigned char __RPC_FAR * __RPC_USER  VARIANT_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, VARIANT __RPC_FAR * ); 
  7355. unsigned char __RPC_FAR * __RPC_USER  VARIANT_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, VARIANT __RPC_FAR * ); 
  7356. void                      __RPC_USER  VARIANT_UserFree(     unsigned long __RPC_FAR *, VARIANT __RPC_FAR * ); 
  7357.  
  7358. /* end of Additional Prototypes */
  7359.  
  7360. #ifdef __cplusplus
  7361. }
  7362. #endif
  7363.  
  7364. #endif
  7365.