1 import "winreg.idl",
"misc.idl";
6 uuid(
"b97db8b2-4c63-11cf-bff6-08002be23f2f"),
8 pointer_default(unique),
10 authservice(
"MSServerClusterMgmtAPI"),
11 helpstring(
"Failover Cluster Management API (clusapi)")
21 typedef [context_handle]
void *HCLUSTER_RPC;
22 typedef [context_handle]
void *HNODE_RPC;
23 typedef [context_handle]
void *HGROUP_RPC;
24 typedef [context_handle]
void *HRES_RPC;
25 typedef [context_handle]
void *HKEY_RPC;
26 typedef [context_handle]
void *HNOTIFY_RPC;
27 typedef [context_handle]
void *HNETWORK_RPC;
28 typedef [context_handle]
void *HNETINTERFACE_RPC;
29 typedef [context_handle]
void *HBATCH_PORT_RPC;
31 #define HCLUSTER_RPC policy_handle 32 #define HNODE_RPC policy_handle 33 #define HGROUP_RPC policy_handle 34 #define HRES_RPC policy_handle 35 #define HKEY_RPC policy_handle 36 #define HNOTIFY_RPC policy_handle 37 #define HNETWORK_RPC policy_handle 38 #define HNETINTERFACE_RPC policy_handle 39 #define HBATCH_PORT_RPC policy_handle 43 [ size_is( cbInSecurityDescriptor ), length_is( cbOutSecurityDescriptor ) ] uint8 *lpSecurityDescriptor;
44 uint32 cbInSecurityDescriptor;
45 uint32 cbOutSecurityDescriptor;
55 [value(20)] uint32 dwSize;
56 uint32 dwClusterHighestVersion;
57 uint32 dwClusterLowestVersion;
64 boolean8 SetAttempted;
69 IDL_CLUSTER_SET_PASSWORD_IGNORE_DOWN_NODES = 1
70 } IDL_CLUSTER_SET_PASSWORD_FLAGS;
90 [ out ] WERROR *Status
95 [ out ] WERROR *Status,
96 [ out ] HCLUSTER_RPC *Cluster
104 clusapi_CloseCluster(
105 [ in, out ] HCLUSTER_RPC *Cluster
112 clusapi_SetClusterName(
113 [ in,
string ] [charset(UTF16)] uint16 *NewClusterName,
114 [ out ] WERROR *rpc_status
121 clusapi_GetClusterName(
122 [ out,
string ] [charset(UTF16)] uint16 **ClusterName,
123 [ out,
string ] [charset(UTF16)] uint16 **NodeName
130 clusapi_GetClusterVersion(
131 [ out ] uint16 *lpwMajorVersion,
132 [ out ] uint16 *lpwMinorVersion,
133 [ out ] uint16 *lpwBuildNumber,
134 [ out,
string ] [charset(UTF16)] uint16 **lpszVendorId,
135 [ out,
string ] [charset(UTF16)] uint16 **lpszCSDVersion
142 clusapi_GetQuorumResource(
143 [ out,
string ] [charset(UTF16)] uint16 **lpszResourceName,
144 [ out,
string ] [charset(UTF16)] uint16 **lpszDeviceName,
145 [ out ] uint32 *pdwMaxQuorumLogSize,
146 [ out ] WERROR *rpc_status
153 clusapi_SetQuorumResource(
154 [ in ] HRES_RPC hResource,
155 [ in,
string ] [charset(UTF16)] uint16 *lpszDeviceName,
156 [ in ] uint32 dwMaxQuorumLogSize,
157 [ out ] WERROR *rpc_status
160 typedef [bitmap32bit] bitmap {
161 CLUSTER_ENUM_NODE = 0x00000001,
162 CLUSTER_ENUM_RESTYPE = 0x00000002,
163 CLUSTER_ENUM_RESOURCE = 0x00000004,
164 CLUSTER_ENUM_GROUP = 0x00000008,
165 CLUSTER_ENUM_NETWORK = 0x00000010,
166 CLUSTER_ENUM_NETINTERFACE = 0x00000020,
167 CLUSTER_ENUM_INTERNAL_NETWORK = 0x80000000,
168 CLUSTER_ENUM_SHARED_VOLUME_RESOURCE = 0x40000000
172 ClusterEnumType Type;
173 [string] [charset(UTF16)] uint16 *Name;
182 [string] [charset(UTF16)] uint16 *Name;
183 [string] [charset(UTF16)] uint16 *Id;
185 [string] [charset(UTF16)] uint16 *Owner;
188 [size_is(cbProperties)] uint8* Properties;
189 uint32 cbRoProperties;
190 [size_is(cbRoProperties)] uint8* RoProperties;
194 [string] [charset(UTF16)] uint16 *Name;
195 [string] [charset(UTF16)] uint16 *Id;
196 [string] [charset(UTF16)] uint16 *OwnerName;
197 [string] [charset(UTF16)] uint16 *OwnerId;
199 [size_is(cbProperties)] uint8* Properties;
200 uint32 cbRoProperties;
201 [size_is(cbRoProperties)] uint8* RoProperties;
219 [ in ] ClusterEnumType dwType,
221 [ out ] WERROR *rpc_status
229 clusapi_OpenResource(
230 [ in,
string ] [charset(UTF16)] uint16 *lpszResourceName,
231 [ out ] WERROR *Status,
232 [ out ] WERROR *rpc_status
236 clusapi_OpenResource(
237 [ in,
string ] [charset(UTF16)] uint16 *lpszResourceName,
238 [ out ] WERROR *Status,
239 [ out ] WERROR *rpc_status,
240 [ out ] HRES_RPC *hResource
246 typedef [v1_enum]
enum {
247 CLUSTER_RESOURCE_DEFAULT_MONITOR = 0x00000000,
248 CLUSTER_RESOURCE_SEPARATE_MONITOR = 0x00000001
249 } clusapi_CreateResourceFlags;
253 clusapi_CreateResource(
254 [ in ] HGROUP_RPC hGroup,
255 [ in,
string ] [charset(UTF16)] uint16 *lpszResourceName,
256 [ in,
string ] [charset(UTF16)] uint16 *lpszResourceType,
257 [ in ] clusapi_CreateResourceFlags dwFlags,
258 [ out ] WERROR *Status,
259 [ out ] WERROR *rpc_status
263 clusapi_CreateResource(
264 [ in ] HGROUP_RPC hGroup,
265 [ in,
string ] [charset(UTF16)] uint16 *lpszResourceName,
266 [ in,
string ] [charset(UTF16)] uint16 *lpszResourceType,
267 [ in ] clusapi_CreateResourceFlags dwFlags,
268 [ out ] WERROR *Status,
269 [ out ] WERROR *rpc_status,
270 [ out ] HRES_RPC *hResource
277 clusapi_DeleteResource(
278 [ in ] HRES_RPC hResource,
279 [ out ] WERROR *rpc_status
286 clusapi_CloseResource(
287 [ in, out ] HRES_RPC *Resource
293 typedef [v1_enum]
enum {
294 ClusterResourceInitializing = 0x00000001,
295 ClusterResourceOnline = 0x00000002,
296 ClusterResourceOffline = 0x00000003,
297 ClusterResourceFailed = 0x00000004,
298 ClusterResourceOnlinePending = 0x00000081,
299 ClusterResourceOfflinePending = 0x00000082,
300 ClusterResourceStateUnknown = 0xFFFFFFFF
301 } clusapi_ClusterResourceState;
304 clusapi_GetResourceState(
305 [ in ] HRES_RPC hResource,
306 [ out ] clusapi_ClusterResourceState *State,
307 [ out,
string ] [charset(UTF16)] uint16 **NodeName,
308 [ out,
string ] [charset(UTF16)] uint16 **GroupName,
309 [ out ] WERROR *rpc_status
316 clusapi_SetResourceName(
317 [ in ] HRES_RPC hResource,
318 [ in,
string ] [charset(UTF16)] uint16 *lpszResourceName,
319 [ out ] WERROR *rpc_status
326 clusapi_GetResourceId(
327 [ in ] HRES_RPC hResource,
328 [ out,
string ] [charset(UTF16)] uint16 **pGuid,
329 [ out ] WERROR *rpc_status
336 clusapi_GetResourceType(
337 [ in ] HRES_RPC hResource,
338 [ out,
string ] [charset(UTF16)] uint16 **lpszResourceType,
339 [ out ] WERROR *rpc_status
346 clusapi_FailResource(
347 [ in ] HRES_RPC hResource,
348 [ out ] WERROR *rpc_status
355 clusapi_OnlineResource(
356 [ in ] HRES_RPC hResource,
357 [ out ] WERROR *rpc_status
364 clusapi_OfflineResource(
365 [ in ] HRES_RPC hResource,
366 [ out ] WERROR *rpc_status
373 clusapi_AddResourceDependency(
374 [ in ] HRES_RPC hResource,
375 [ in ] HRES_RPC hDependsOn,
376 [ out ] WERROR *rpc_status
383 clusapi_RemoveResourceDependency(
384 [ in ] HRES_RPC hResource,
385 [ in ] HRES_RPC hDependsOn,
386 [ out ] WERROR *rpc_status
393 clusapi_CanResourceBeDependent(
394 [ in ] HRES_RPC hResource,
395 [ in ] HRES_RPC hResourceDependent,
396 [ out ] WERROR *rpc_status
403 clusapi_CreateResEnum(
404 [ in ] HRES_RPC hResource,
405 [ in ] uint32 dwType,
407 [ out ] WERROR *rpc_status
414 clusapi_AddResourceNode(
415 [ in ] HRES_RPC hResource,
416 [ in ] HNODE_RPC hNode,
417 [ out ] WERROR *rpc_status
424 clusapi_RemoveResourceNode(
425 [ in ] HRES_RPC hResource,
426 [ in ] HNODE_RPC hNode,
427 [ out ] WERROR *rpc_status
434 clusapi_ChangeResourceGroup(
435 [ in ] HRES_RPC hResource,
436 [ in ] HGROUP_RPC hGroup,
437 [ out ] WERROR *rpc_status
444 clusapi_CreateResourceType(
445 [ in,
string ] [charset(UTF16)] uint16 *lpszTypeName,
446 [ in,
string ] [charset(UTF16)] uint16 *lpszDisplayName,
447 [ in,
string ] [charset(UTF16)] uint16 *lpszDllName,
448 [ in ] uint32 dwLooksAlive,
449 [ in ] uint32 dwIsAlive,
450 [ out ] WERROR *rpc_status
457 clusapi_DeleteResourceType(
458 [ in,
string ] [charset(UTF16)] uint16 *lpszTypeName,
459 [ out ] WERROR *rpc_status
467 [ in ] winreg_AccessMask samDesired,
468 [ out ] WERROR *Status,
469 [ out ] WERROR *rpc_status
474 [ in ] winreg_AccessMask samDesired,
475 [ out ] WERROR *Status,
476 [ out ] WERROR *rpc_status,
477 [ out ] HKEY_RPC *phKey
485 [ in ] HKEY_RPC hKey,
486 [ in,
string ] [charset(UTF16)] uint16 *lpSubKey,
487 [ in ] uint32 dwOptions,
488 [ in ] winreg_AccessMask samDesired,
490 [ out ] uint32 *lpdwDisposition,
491 [ out ] WERROR *Status,
492 [ out ] WERROR *rpc_status
497 [ in ] HKEY_RPC hKey,
498 [ in,
string ] [charset(UTF16)] uint16 *lpSubKey,
499 [ in ] uint32 dwOptions,
500 [ in ] winreg_AccessMask samDesired,
502 [ out ] uint32 *lpdwDisposition,
503 [ out ] WERROR *Status,
504 [ out ] WERROR *rpc_status,
505 [ out ] HKEY_RPC *phKey
513 [ in ] HKEY_RPC hKey,
514 [ in,
string ] [charset(UTF16)] uint16 *lpSubKey,
515 [ in ] winreg_AccessMask samDesired,
516 [ out ] WERROR *Status,
517 [ out ] WERROR *rpc_status
522 [ in ] HKEY_RPC hKey,
523 [ in,
string ] [charset(UTF16)] uint16 *lpSubKey,
524 [ in ] winreg_AccessMask samDesired,
525 [ out ] WERROR *Status,
526 [ out ] WERROR *rpc_status,
527 [ out ] HKEY_RPC *phKey
535 [ in ] HKEY_RPC hKey,
536 [ in ] uint32 dwIndex,
537 [ out,
string ] [charset(UTF16)] uint16 **KeyName,
538 [ out ] NTTIME *lpftLastWriteTime,
539 [ out ] WERROR *rpc_status
547 [ in ] HKEY_RPC hKey,
548 [ in,
string ] [charset(UTF16)] uint16 *lpValueName,
549 [ in ] winreg_Type dwType,
550 [ in, size_is(cbData) ] uint8 *lpData,
551 [ in ] uint32 cbData,
552 [ out ] WERROR *rpc_status
560 [ in ] HKEY_RPC hKey,
561 [ in,
string ] [charset(UTF16)] uint16 *lpValueName,
562 [ out ] WERROR *rpc_status
570 [ in ] HKEY_RPC hKey,
571 [ in,
string ] [charset(UTF16)] uint16 *lpValueName,
572 [ out ] winreg_Type *lpValueType,
573 [ out, size_is(cbData) ] uint8 *lpData,
574 [ in ] uint32 cbData,
575 [ out ] uint32 *lpcbRequired,
576 [ out ] WERROR *rpc_status
584 [ in ] HKEY_RPC hKey,
585 [ in,
string ] [charset(UTF16)] uint16 *lpSubKey,
586 [ out ] WERROR *rpc_status
594 [ in ] HKEY_RPC hKey,
595 [ in ] uint32 dwIndex,
596 [ out,
string ] [charset(UTF16)] uint16 **lpValueName,
597 [ out ] winreg_Type *lpType,
598 [ out, size_is(*lpcbData) ] uint8 *lpData,
599 [ in, out ] uint32 *lpcbData,
600 [ out ] uint32 *TotalSize,
601 [ out ] WERROR *rpc_status
609 [ in, out ] HKEY_RPC *pKey
616 clusapi_QueryInfoKey(
617 [ in ] HKEY_RPC hKey,
618 [ out ] uint32 *lpcSubKeys,
619 [ out ] uint32 *lpcbMaxSubKeyLen,
620 [ out ] uint32 *lpcValues,
621 [ out ] uint32 *lpcbMaxValueNameLen,
622 [ out ] uint32 *lpcbMaxValueLen,
623 [ out ] uint32 *lpcbSecurityDescriptor,
624 [ out ] NTTIME *lpftLastWriteTime,
625 [ out ] WERROR *rpc_status
632 clusapi_SetKeySecurity(
633 [ in ] HKEY_RPC hKey,
634 [ in ] uint32 SecurityInformation,
636 [ out ] WERROR *rpc_status
643 clusapi_GetKeySecurity(
644 [ in ] HKEY_RPC hKey,
645 [ in ] uint32 SecurityInformation,
647 [ out ] WERROR *rpc_status
655 [ in,
string ] [charset(UTF16)] uint16 *lpszGroupName,
656 [ out ] WERROR *Status,
657 [ out ] WERROR *rpc_status
662 [ in,
string ] [charset(UTF16)] uint16 *lpszGroupName,
663 [ out ] WERROR *Status,
664 [ out ] WERROR *rpc_status,
665 [ out ] HGROUP_RPC *hGroup
673 [ in,
string ] [charset(UTF16)] uint16 *lpszGroupName,
674 [ out ] WERROR *Status,
675 [ out ] WERROR *rpc_status
680 [ in,
string ] [charset(UTF16)] uint16 *lpszGroupName,
681 [ out ] WERROR *Status,
682 [ out ] WERROR *rpc_status,
683 [ out ] HGROUP_RPC *hGroup
691 [ in ] HGROUP_RPC Group,
692 [ in ] boolean8 force,
693 [ out ] WERROR *rpc_status
701 [ in, out ] HGROUP_RPC *Group
707 typedef [v1_enum]
enum {
708 ClusterGroupOnline = 0x00000000,
709 ClusterGroupOffline = 0x00000001,
710 ClusterGroupFailed = 0x00000002,
711 ClusterGroupPartialOnline = 0x00000003,
712 ClusterGroupPending = 0x00000004,
713 ClusterGroupStateUnknown = 0xFFFFFFFF
714 } clusapi_ClusterGroupState;
717 clusapi_GetGroupState(
718 [ in ] HGROUP_RPC hGroup,
719 [ out ] clusapi_ClusterGroupState *State,
720 [ out,
string ] [charset(UTF16)] uint16 **NodeName,
721 [ out ] WERROR *rpc_status
728 clusapi_SetGroupName(
729 [ in ] HGROUP_RPC hGroup,
730 [ in,
string ] [charset(UTF16)] uint16 *lpszGroupName,
731 [ out ] WERROR *rpc_status
739 [ in ] HGROUP_RPC hGroup,
740 [ out,
string ] [charset(UTF16)] uint16 **pGuid,
741 [ out ] WERROR *rpc_status
749 [ in ] HNODE_RPC hNode,
750 [ out,
string ] [charset(UTF16)] uint16 **pGuid,
751 [ out ] WERROR *rpc_status
759 [ in ] HGROUP_RPC hGroup,
760 [ out ] WERROR *rpc_status
767 clusapi_OfflineGroup(
768 [ in ] HGROUP_RPC hGroup,
769 [ out ] WERROR *rpc_status
777 [ in ] HGROUP_RPC hGroup,
778 [ out ] WERROR *rpc_status
785 clusapi_MoveGroupToNode(
786 [ in ] HGROUP_RPC hGroup,
787 [ in ] HNODE_RPC hNode,
788 [ out ] WERROR *rpc_status
794 typedef [bitmap32bit] bitmap {
795 CLUSTER_GROUP_ENUM_CONTAINS = 0x00000001,
796 CLUSTER_GROUP_ENUM_NODES = 0x00000002
797 } ClusterGroupEnumType;
800 clusapi_CreateGroupResourceEnum(
801 [ in ] HGROUP_RPC hGroup,
802 [ in ] ClusterGroupEnumType dwType,
804 [ out ] WERROR *rpc_status
811 clusapi_SetGroupNodeList(
812 [ in ] HGROUP_RPC hGroup,
813 [ in, unique, size_is(cchListSize) ] uint16 *multiSzNodeList,
814 [ in ] uint32 cchListSize,
815 [ out ] WERROR *rpc_status
822 clusapi_CreateNotify(
823 [ out ] WERROR *Status,
824 [ out ] WERROR *rpc_status
828 clusapi_CreateNotify(
829 [ out ] WERROR *Status,
830 [ out ] WERROR *rpc_status,
831 [ out ] HNOTIFY_RPC *hNotify
839 [ in, out ] HNOTIFY_RPC *Notify
846 clusapi_AddNotifyCluster(
847 [ in ] HNOTIFY_RPC hNotify,
848 [ in ] HCLUSTER_RPC hCluster,
849 [ in ] uint32 dwFilter,
850 [ in ] uint32 dwNotifyKey,
851 [ out ] WERROR *rpc_status
858 clusapi_AddNotifyNode(
859 [ in ] HNOTIFY_RPC hNotify,
860 [ in ] HNODE_RPC hNode,
861 [ in ] uint32 dwFilter,
862 [ in ] uint32 dwNotifyKey,
863 [ out ] uint32 *dwStateSequence,
864 [ out ] WERROR *rpc_status
871 clusapi_AddNotifyGroup(
872 [ in ] HNOTIFY_RPC hNotify,
873 [ in ] HGROUP_RPC hGroup,
874 [ in ] uint32 dwFilter,
875 [ in ] uint32 dwNotifyKey,
876 [ out ] uint32 *dwStateSequence,
877 [ out ] WERROR *rpc_status
884 clusapi_AddNotifyResource(
885 [ in ] HNOTIFY_RPC hNotify,
886 [ in ] HRES_RPC hResource,
887 [ in ] uint32 dwFilter,
888 [ in ] uint32 dwNotifyKey,
889 [ out ] uint32 *dwStateSequence,
890 [ out ] WERROR *rpc_status
897 clusapi_AddNotifyKey(
898 [ in ] HNOTIFY_RPC hNotify,
899 [ in ] HKEY_RPC hKey,
900 [ in ] uint32 dwNotifyKey,
901 [ in ] uint32 Filter,
902 [ in ] boolean8 WatchSubTree,
903 [ out ] WERROR *rpc_status
910 clusapi_ReAddNotifyNode(
911 [ in ] HNOTIFY_RPC hNotify,
912 [ in ] HNODE_RPC hNode,
913 [ in ] uint32 dwFilter,
914 [ in ] uint32 dwNotifyKey,
915 [ in ] uint32 StateSequence,
916 [ out ] WERROR *rpc_status
923 clusapi_ReAddNotifyGroup(
924 [ in ] HNOTIFY_RPC hNotify,
925 [ in ] HGROUP_RPC hGroup,
926 [ in ] uint32 dwFilter,
927 [ in ] uint32 dwNotifyKey,
928 [ in ] uint32 StateSequence,
929 [ out ] WERROR *rpc_status
936 clusapi_ReAddNotifyResource(
937 [ in ] HNOTIFY_RPC hNotify,
938 [ in ] HRES_RPC hResource,
939 [ in ] uint32 dwFilter,
940 [ in ] uint32 dwNotifyKey,
941 [ in ] uint32 StateSequence,
942 [ out ] WERROR *rpc_status
950 [ in ] HNOTIFY_RPC hNotify,
951 [ out ] uint32 *dwNotifyKey,
952 [ out ] uint32 *dwFilter,
953 [ out ] uint32 *dwStateSequence,
954 [ out,
string ] [charset(UTF16)] uint16 **Name,
955 [ out ] WERROR *rpc_status
963 [ in,
string ] [charset(UTF16)] uint16 *lpszNodeName,
964 [ out ] WERROR *Status,
965 [ out ] WERROR *rpc_status
970 [ in,
string ] [charset(UTF16)] uint16 *lpszNodeName,
971 [ out ] WERROR *Status,
972 [ out ] WERROR *rpc_status,
973 [ out ] HNODE_RPC *hNode
981 [ in, out ] HNODE_RPC *
Node 987 typedef [v1_enum]
enum {
988 ClusterNodeUp = 0x00000000,
989 ClusterNodeDown = 0x00000001,
990 ClusterNodePaused = 0x00000002,
991 ClusterNodeJoining = 0x00000003,
992 ClusterNodeStateUnknown = 0xFFFFFFFF
993 } clusapi_ClusterNodeState;
996 clusapi_GetNodeState(
997 [ in ] HNODE_RPC hNode,
998 [ out ] clusapi_ClusterNodeState *State,
999 [ out ] WERROR *rpc_status
1007 [ in ] HNODE_RPC hNode,
1008 [ out ] WERROR *rpc_status
1016 [ in ] HNODE_RPC hNode,
1017 [ out ] WERROR *rpc_status
1025 [ in ] HNODE_RPC hNode,
1026 [ out ] WERROR *rpc_status
1033 clusapi_NodeResourceControl(
1034 [ in ] HRES_RPC hResource,
1035 [ in ] HNODE_RPC hNode,
1036 [ in ] uint32 dwControlCode,
1037 [ in, unique, size_is(nInBufferSize) ] uint8 *lpInBuffer,
1038 [ in ] uint32 nInBufferSize,
1039 [ out, size_is(nOutBufferSize),
1040 length_is (*lpBytesReturned)] uint8 *lpOutBuffer,
1041 [ in ] uint32 nOutBufferSize,
1042 [ out ] uint32 *lpBytesReturned,
1043 [ out ] uint32 *lpcbRequired,
1044 [ out ] WERROR *rpc_status
1050 typedef [v1_enum]
enum {
1051 CLUS_RESCLASS_UNKNOWN = 0x00000000,
1052 CLUS_RESCLASS_STORAGE = 0x00000001,
1053 CLUS_RESCLASS_NETWORK = 0x00000002
1054 } clusapi_ResourceClass;
1056 typedef [
public]
struct {
1057 clusapi_ResourceClass Class;
1059 } CLUS_RESOURCE_CLASS_INFO;
1061 typedef [v1_enum]
enum {
1062 CLUSCTL_RESOURCE_UNKNOWN = 0x1000000,
1063 CLUSCTL_RESOURCE_GET_CHARACTERISTICS = 0x1000005,
1064 CLUSCTL_RESOURCE_GET_FLAGS = 0x1000009,
1065 CLUSCTL_RESOURCE_GET_CLASS_INFO = 0x100000D,
1066 CLUSCTL_RESOURCE_GET_REQUIRED_DEPENDENCIES = 0x1000011,
1067 CLUSCTL_RESOURCE_GET_NAME = 0x1000029,
1068 CLUSCTL_RESOURCE_GET_RESOURCE_TYPE = 0x100002D,
1069 CLUSCTL_RESOURCE_GET_ID = 0x1000039,
1070 CLUSCTL_RESOURCE_ENUM_COMMON_PROPERTIES = 0x1000051,
1071 CLUSCTL_RESOURCE_GET_RO_COMMON_PROPERTIES = 0x1000055,
1072 CLUSCTL_RESOURCE_GET_COMMON_PROPERTIES = 0x1000059,
1073 CLUSCTL_RESOURCE_SET_COMMON_PROPERTIES = 0x140005E,
1074 CLUSCTL_RESOURCE_VALIDATE_COMMON_PROPERTIES = 0x1000061,
1075 CLUSCTL_RESOURCE_GET_COMMON_PROPERTY_FMTS = 0x1000065,
1076 CLUSCTL_RESOURCE_ENUM_PRIVATE_PROPERTIES = 0x1000079,
1077 CLUSCTL_RESOURCE_GET_RO_PRIVATE_PROPERTIES = 0x100007D,
1078 CLUSCTL_RESOURCE_GET_PRIVATE_PROPERTIES = 0x1000081,
1079 CLUSCTL_RESOURCE_SET_PRIVATE_PROPERTIES = 0x1400086,
1080 CLUSCTL_RESOURCE_VALIDATE_PRIVATE_PROPERTIES = 0x1000089,
1081 CLUSCTL_RESOURCE_GET_PRIVATE_PROPERTY_FMTS = 0x100008D,
1082 CLUSCTL_RESOURCE_ADD_REGISTRY_CHECKPOINT = 0x14000A2,
1083 CLUSCTL_RESOURCE_DELETE_REGISTRY_CHECKPOINT = 0x14000A6,
1084 CLUSCTL_RESOURCE_GET_REGISTRY_CHECKPOINTS = 0x10000A9,
1085 CLUSCTL_RESOURCE_ADD_CRYPTO_CHECKPOINT = 0x14000AE,
1086 CLUSCTL_RESOURCE_DELETE_CRYPTO_CHECKPOINT = 0x14000B2,
1087 CLUSCTL_RESOURCE_GET_CRYPTO_CHECKPOINTS = 0x010000B5,
1088 CLUSCTL_RESOURCE_UPGRADE_DLL = 0x14000BA,
1089 CLUSCTL_RESOURCE_ADD_REGISTRY_CHECKPOINT_64BIT = 0x14000BE,
1090 CLUSCTL_RESOURCE_ADD_REGISTRY_CHECKPOINT_32BIT = 0x14000C2,
1091 CLUSCTL_RESOURCE_GET_NETWORK_NAME = 0x1000169,
1092 CLUSCTL_RESOURCE_NETNAME_REGISTER_DNS_RECORDS = 0x1000172,
1093 CLUSCTL_RESOURCE_GET_DNS_NAME = 0x1000175,
1094 CLUSCTL_RESOURCE_NETNAME_SET_PWD_INFO = 0x100017A,
1095 CLUSCTL_RESOURCE_NETNAME_DELETE_CO = 0x100017E,
1096 CLUSCTL_RESOURCE_NETNAME_VALIDATE_VCO = 0x1000181,
1097 CLUSCTL_RESOURCE_NETNAME_RESET_VCO = 0x1000185,
1098 CLUSCTL_RESOURCE_NETNAME_CREDS_UPDATED = 0x1c0018a,
1099 CLUSCTL_RESOURCE_STORAGE_GET_DISK_INFO = 0x1000191,
1100 CLUSCTL_RESOURCE_STORAGE_IS_PATH_VALID = 0x1000199,
1101 CLUSCTL_RESOURCE_IPADDRESS_RENEW_LEASE = 0x14001BE,
1102 CLUSCTL_RESOURCE_IPADDRESS_RELEASE_LEASE = 0x14001C2,
1103 CLUSCTL_RESOURCE_QUERY_MAINTENANCE_MODE = 0x10001E1,
1104 CLUSCTL_RESOURCE_SET_MAINTENANCE_MODE = 0x14001E6,
1105 CLUSCTL_RESOURCE_STORAGE_SET_DRIVELETTER = 0x14001EA,
1106 CLUSCTL_RESOURCE_STORAGE_GET_DISK_INFO_EX = 0x10001F1,
1107 CLUSCTL_RESOURCE_STORAGE_GET_DIRTY = 0x1000219,
1108 CLUSCTL_RESOURCE_STORAGE_GET_MOUNTPOINTS = 0x1000211,
1109 CLUSCTL_RESOURCE_STORAGE_GET_SHARED_VOLUME_INFO = 0x1000225,
1110 CLUSCTL_RESOURCE_VM_START_MIGRATION = 0x1600004,
1111 CLUSCTL_RESOURCE_VM_CANCEL_MIGRATION = 0x1600008,
1112 CLUSCTL_RESOURCE_SET_CSV_MAINTENANCE_MODE = 0x1400296,
1113 CLUSCTL_RESOURCE_ENABLE_SHARED_VOLUME_DIRECTIO = 0x140028a,
1114 CLUSCTL_RESOURCE_DISABLE_SHARED_VOLUME_DIRECTIO = 0x140028e,
1115 CLUSCTL_RESOURCE_SET_SHARED_VOLUME_BACKUP_MODE = 0x140029a,
1116 CLUSCTL_RESOURCE_GET_RELATED_RESOURCE_NAMES = 0x1001fad,
1117 CLUSCTL_RESOURCE_POOL_GET_DRIVE_INFO = 0x10002b5,
1118 CLUSCTL_RESOURCE_CLOUD_WITNESS_UPDATE_TOKEN = 0x014020e6,
1119 CLUSCTL_RESOURCE_NETNAME_CHECK_OU_PERMISSIONS = 0x07002121,
1120 CLUSCTL_RESOURCE_NETNAME_CHECK_AD_STATE = 0x07002125
1121 } clusapi_ResourceControlCode;
1124 clusapi_ResourceControl(
1125 [ in ] HRES_RPC hResource,
1126 [ in ] clusapi_ResourceControlCode dwControlCode,
1127 [ in, unique, size_is(nInBufferSize) ] uint8 *lpInBuffer,
1128 [ in ] uint32 nInBufferSize,
1129 [ out, size_is(nOutBufferSize),
1130 length_is (*lpBytesReturned)] uint8 *lpOutBuffer,
1131 [ in ] uint32 nOutBufferSize,
1132 [ out ] uint32 *lpBytesReturned,
1133 [ out ] uint32 *lpcbRequired,
1134 [ out ] WERROR *rpc_status
1141 clusapi_NodeResourceTypeControl(
1142 [ in ] HCLUSTER_RPC hCluster,
1143 [ in,
string ] [charset(UTF16)] uint16 *lpszResourceTypeName,
1144 [ in ] HNODE_RPC hNode,
1145 [ in ] uint32 dwControlCode,
1146 [ in, unique, size_is(nInBufferSize) ] uint8 *lpInBuffer,
1147 [ in ] uint32 nInBufferSize,
1148 [ out, size_is(nOutBufferSize),
1149 length_is (*lpBytesReturned)] uint8 *lpOutBuffer,
1150 [ in ] uint32 nOutBufferSize,
1151 [ out ] uint32 *lpBytesReturned,
1152 [ out ] uint32 *lpcbRequired,
1153 [ out ] WERROR *rpc_status
1159 typedef [v1_enum]
enum {
1160 CLUSCTL_RESOURCE_TYPE_UNKNOWN = 0x02000000,
1161 CLUSCTL_RESOURCE_TYPE_GET_CHARACTERISTICS = 0x02000005,
1162 CLUSCTL_RESOURCE_TYPE_GET_FLAGS = 0x02000009,
1163 CLUSCTL_RESOURCE_TYPE_GET_CLASS_INFO = 0x0200000D,
1164 CLUSCTL_RESOURCE_TYPE_GET_REQUIRED_DEPENDENCIES = 0x02000011,
1165 CLUSCTL_RESOURCE_TYPE_GET_ARB_TIMEOUT = 0x02000015,
1166 CLUSCTL_RESOURCE_TYPE_ENUM_COMMON_PROPERTIES = 0x02000051,
1167 CLUSCTL_RESOURCE_TYPE_GET_RO_COMMON_PROPERTIES = 0x02000055,
1168 CLUSCTL_RESOURCE_TYPE_GET_COMMON_PROPERTIES = 0x02000059,
1169 CLUSCTL_RESOURCE_TYPE_SET_COMMON_PROPERTIES = 0x0240005E,
1170 CLUSCTL_RESOURCE_TYPE_VALIDATE_COMMON_PROPERTIES = 0x02000061,
1171 CLUSCTL_RESOURCE_TYPE_GET_COMMON_PROPERTY_FMTS = 0x02000065,
1172 CLUSCTL_RESOURCE_TYPE_GET_COMMON_RESOURCE_PROPERTY_FMTS = 0x02000069,
1173 CLUSCTL_RESOURCE_TYPE_ENUM_PRIVATE_PROPERTIES = 0x02000079,
1174 CLUSCTL_RESOURCE_TYPE_GET_RO_PRIVATE_PROPERTIES = 0x0200007D,
1175 CLUSCTL_RESOURCE_TYPE_GET_PRIVATE_PROPERTIES = 0x02000081,
1176 CLUSCTL_RESOURCE_TYPE_SET_PRIVATE_PROPERTIES = 0x02400086,
1177 CLUSCTL_RESOURCE_TYPE_VALIDATE_PRIVATE_PROPERTIES = 0x02000089,
1178 CLUSCTL_RESOURCE_TYPE_GET_PRIVATE_PROPERTY_FMTS = 0x0200008D,
1179 CLUSCTL_RESOURCE_TYPE_GET_PRIVATE_RESOURCE_PROPERTY_FMTS= 0x02000091,
1180 CLUSCTL_RESOURCE_TYPE_STORAGE_GET_AVAILABLE_DISKS = 0x02000195,
1181 CLUSCTL_RESOURCE_TYPE_NETNAME_VALIDATE_NETNAME = 0x02000235,
1182 CLUSCTL_RESOURCE_TYPE_VALIDATE_PATH = 0x02000231,
1183 CLUSCTL_RESOURCE_TYPE_GEN_APP_VALIDATE_DIRECTORY = 0x02000239,
1184 CLUSCTL_RESOURCE_TYPE_STORAGE_GET_DRIVELETTERS = 0x020001ED,
1185 CLUSCTL_RESOURCE_TYPE_STORAGE_GET_AVAILABLE_DISKS_EX = 0x020001F5,
1186 CLUSCTL_RESOURCE_TYPE_STORAGE_REMAP_DRIVELETTER = 0x02000201,
1187 CLUSCTL_RESOURCE_TYPE_STORAGE_GET_DISKID = 0x02000205,
1188 CLUSCTL_RESOURCE_TYPE_STORAGE_IS_CLUSTERABLE = 0x02000209,
1189 CLUSCTL_RESOURCE_TYPE_STORAGE_RELEASE_OWNERSHIP = 0x0240020E,
1190 CLUSCTL_RESOURCE_TYPE_STORAGE_IS_CSV_FILE = 0x1000229,
1191 CLUSCTL_RESOURCE_TYPE_CLOUD_WITNESS_VALIDATE_CREDENTIALS= 0x020020e1,
1192 CLUSCTL_RESOURCE_TYPE_REPLICATION_GET_ELIGIBLE_LOGDISKS = 0x02002149,
1193 CLUSCTL_RESOURCE_TYPE_REPLICATION_GET_ELIGIBLE_TARGET_DATADISKS = 0x0200214D,
1194 CLUSCTL_RESOURCE_TYPE_REPLICATION_GET_ELIGIBLE_SOURCE_DATADISKS = 0x02002151,
1195 CLUSCTL_RESOURCE_TYPE_REPLICATION_GET_REPLICA_VOLUMES = 0x02002159,
1196 CLUSCTL_RESOURCE_TYPE_REPLICATION_GET_LOG_VOLUME = 0x0200215D,
1197 CLUSCTL_RESOURCE_TYPE_REPLICATION_GET_REPLICATED_DISKS = 0x02002155,
1198 CLUSCTL_RESOURCE_TYPE_REPLICATION_GET_RESOURCE_GROUP = 0x02002161
1199 } clusapi_ResourceTypeControlCode;
1202 clusapi_ResourceTypeControl(
1203 [ in ] HCLUSTER_RPC hCluster,
1204 [ in,
string ] [charset(UTF16)] uint16 *lpszResourceTypeName,
1205 [ in ] clusapi_ResourceTypeControlCode dwControlCode,
1206 [ in, unique, size_is(nInBufferSize) ] uint8 *lpInBuffer,
1207 [ in ] uint32 nInBufferSize,
1208 [ out, size_is(nOutBufferSize),
1209 length_is (*lpBytesReturned)] uint8 *lpOutBuffer,
1210 [ in ] uint32 nOutBufferSize,
1211 [ out ] uint32 *lpBytesReturned,
1212 [ out ] uint32 *lpcbRequired,
1213 [ out ] WERROR *rpc_status
1220 clusapi_NodeGroupControl(
1221 [ in ] HGROUP_RPC hGroup,
1222 [ in ] HNODE_RPC hNode,
1223 [ in ] uint32 dwControlCode,
1224 [ in, unique, size_is(nInBufferSize) ] uint8 *lpInBuffer,
1225 [ in ] uint32 nInBufferSize,
1226 [ out, size_is(nOutBufferSize),
1227 length_is (*lpBytesReturned)] uint8 *lpOutBuffer,
1228 [ in ] uint32 nOutBufferSize,
1229 [ out ] uint32 *lpBytesReturned,
1230 [ out ] uint32 *lpcbRequired,
1231 [ out ] WERROR *rpc_status
1237 typedef [v1_enum]
enum {
1238 CLUSCTL_GROUP_UNKNOWN = 0x03000000,
1239 CLUSCTL_GROUP_GET_CHARACTERISTICS = 0x03000005,
1240 CLUSCTL_GROUP_GET_FLAGS = 0x03000009,
1241 CLUSCTL_GROUP_GET_NAME = 0x03000029,
1242 CLUSCTL_GROUP_GET_ID = 0x03000039,
1243 CLUSCTL_GROUP_ENUM_COMMON_PROPERTIES = 0x03000051,
1244 CLUSCTL_GROUP_GET_RO_COMMON_PROPERTIES = 0x03000055,
1245 CLUSCTL_GROUP_GET_COMMON_PROPERTIES = 0x03000059,
1246 CLUSCTL_GROUP_SET_COMMON_PROPERTIES = 0x0340005E,
1247 CLUSCTL_GROUP_VALIDATE_COMMON_PROPERTIES = 0x03000061,
1248 CLUSCTL_GROUP_GET_COMMON_PROPERTY_FMTS = 0x03000065,
1249 CLUSCTL_GROUP_ENUM_PRIVATE_PROPERTIES = 0x03000079,
1250 CLUSCTL_GROUP_GET_RO_PRIVATE_PROPERTIES = 0x0300007D,
1251 CLUSCTL_GROUP_GET_PRIVATE_PROPERTIES = 0x03000081,
1252 CLUSCTL_GROUP_SET_PRIVATE_PROPERTIES = 0x03400086,
1253 CLUSCTL_GROUP_VALIDATE_PRIVATE_PROPERTIES = 0x03000089
1254 } clusapi_GroupControlCode;
1257 clusapi_GroupControl(
1258 [ in ] HGROUP_RPC hGroup,
1259 [ in ] clusapi_GroupControlCode dwControlCode,
1260 [ in, unique, size_is(nInBufferSize) ] uint8 *lpInBuffer,
1261 [ in ] uint32 nInBufferSize,
1262 [ out, size_is(nOutBufferSize),
1263 length_is (*lpBytesReturned)] uint8 *lpOutBuffer,
1264 [ in ] uint32 nOutBufferSize,
1265 [ out ] uint32 *lpBytesReturned,
1266 [ out ] uint32 *lpcbRequired,
1267 [ out ] WERROR *rpc_status
1274 clusapi_NodeNodeControl(
1275 [ in ] HNODE_RPC hNode,
1276 [ in ] HNODE_RPC hHostNode,
1277 [ in ] uint32 dwControlCode,
1278 [ in, unique, size_is(nInBufferSize) ] uint8 *lpInBuffer,
1279 [ in ] uint32 nInBufferSize,
1280 [ out, size_is(nOutBufferSize),
1281 length_is (*lpBytesReturned)] uint8 *lpOutBuffer,
1282 [ in ] uint32 nOutBufferSize,
1283 [ out ] uint32 *lpBytesReturned,
1284 [ out ] uint32 *lpcbRequired,
1285 [ out ] WERROR *rpc_status
1291 typedef [v1_enum]
enum {
1292 CLUSCTL_NODE_UNKNOWN = 0x04000000,
1293 CLUSCTL_NODE_GET_CHARACTERISTICS = 0x04000005,
1294 CLUSCTL_NODE_GET_FLAGS = 0x04000009,
1295 CLUSCTL_NODE_GET_NAME = 0x04000029,
1296 CLUSCTL_NODE_GET_ID = 0x04000039,
1297 CLUSCTL_NODE_GET_CLUSTER_SERVICE_ACCOUNT_NAME = 0x04000041,
1298 CLUSCTL_NODE_ENUM_COMMON_PROPERTIES = 0x04000051,
1299 CLUSCTL_NODE_GET_RO_COMMON_PROPERTIES = 0x04000055,
1300 CLUSCTL_NODE_GET_COMMON_PROPERTIES = 0x04000059,
1301 CLUSCTL_NODE_SET_COMMON_PROPERTIES = 0x0440005E,
1302 CLUSCTL_NODE_VALIDATE_COMMON_PROPERTIES = 0x04000061,
1303 CLUSCTL_NODE_ENUM_PRIVATE_PROPERTIES = 0x04000079,
1304 CLUSCTL_NODE_GET_RO_PRIVATE_PROPERTIES = 0x0400007D,
1305 CLUSCTL_NODE_GET_PRIVATE_PROPERTIES = 0x04000081,
1306 CLUSCTL_NODE_SET_PRIVATE_PROPERTIES = 0x04400086,
1307 CLUSCTL_NODE_VALIDATE_PRIVATE_PROPERTIES = 0x04000089
1308 } clusapi_NodeControlCode;
1311 clusapi_NodeControl(
1312 [ in ] HNODE_RPC hNode,
1313 [ in ] clusapi_NodeControlCode dwControlCode,
1314 [ in, unique, size_is(nInBufferSize) ] uint8 *lpInBuffer,
1315 [ in ] uint32 nInBufferSize,
1316 [ out, size_is(nOutBufferSize),
1317 length_is (*lpBytesReturned)] uint8 *lpOutBuffer,
1318 [ in ] uint32 nOutBufferSize,
1319 [ out ] uint32 *lpBytesReturned,
1320 [ out ] uint32 *lpcbRequired,
1321 [ out ] WERROR *rpc_status
1328 Opnum80NotUsedOnWire(
void);
1334 clusapi_OpenNetwork(
1335 [ in,
string ] [charset(UTF16)] uint16 *lpszNetworkName,
1336 [ out ] WERROR *Status,
1337 [ out ] WERROR *rpc_status
1341 clusapi_OpenNetwork(
1342 [ in,
string ] [charset(UTF16)] uint16 *lpszNetworkName,
1343 [ out ] WERROR *Status,
1344 [ out ] WERROR *rpc_status,
1345 [ out ] HNETWORK_RPC *hNetwork
1352 clusapi_CloseNetwork(
1353 [ in, out ] HNETWORK_RPC *Network
1359 typedef [v1_enum]
enum {
1360 ClusterNetworkUnavailable = 0x00000000,
1361 ClusterNetworkDown = 0x00000001,
1362 ClusterNetworkPartitioned = 0x00000002,
1363 ClusterNetworkUp = 0x00000003,
1364 ClusterNetworkStateUnknown = 0xFFFFFFFF
1365 } clusapi_ClusterNetworkState;
1368 clusapi_GetNetworkState(
1369 [ in ] HNETWORK_RPC hNetwork,
1370 [ out ] clusapi_ClusterNetworkState *State,
1371 [ out ] WERROR *rpc_status
1378 clusapi_SetNetworkName(
1379 [ in ] HNETWORK_RPC hNetwork,
1380 [ in,
string ] [charset(UTF16)] uint16 *lpszNetworkName,
1381 [ out ] WERROR *rpc_status
1388 clusapi_CreateNetworkEnum(
1389 [ in ] HNETWORK_RPC hNetwork,
1390 [ in ] uint32 dwType,
1392 [ out ] WERROR *rpc_status
1399 clusapi_GetNetworkId(
1400 [ in ] HNETWORK_RPC hNetwork,
1401 [ out,
string ] [charset(UTF16)] uint16 **pGuid,
1402 [ out ] WERROR *rpc_status
1409 clusapi_SetNetworkPriorityOrder(
1410 [ in, range(0, 1000)] uint32 NetworkCount,
1411 [ in,
string, size_is(NetworkCount) ] [charset(UTF16)] uint16 NetworkIdList[*],
1412 [ out ] WERROR *rpc_status
1419 clusapi_NodeNetworkControl(
1420 [ in ] HNETWORK_RPC hNetwork,
1421 [ in ] HNODE_RPC hNode,
1422 [ in ] uint32 dwControlCode,
1423 [ in, unique, size_is(nInBufferSize) ] uint8 *lpInBuffer,
1424 [ in ] uint32 nInBufferSize,
1425 [ out, size_is(nOutBufferSize),
1426 length_is (*lpBytesReturned)] uint8 *lpOutBuffer,
1427 [ in ] uint32 nOutBufferSize,
1428 [ out ] uint32 *lpBytesReturned,
1429 [ out ] uint32 *lpcbRequired,
1430 [ out ] WERROR *rpc_status
1437 clusapi_NetworkControl(
1438 [ in ] HNETWORK_RPC hNetwork,
1439 [ in ] uint32 dwControlCode,
1440 [ in, unique, size_is(nInBufferSize) ] uint8 *lpInBuffer,
1441 [ in ] uint32 nInBufferSize,
1442 [ out, size_is(nOutBufferSize),
1443 length_is (*lpBytesReturned)] uint8 *lpOutBuffer,
1444 [ in ] uint32 nOutBufferSize,
1445 [ out ] uint32 *lpBytesReturned,
1446 [ out ] uint32 *lpcbRequired,
1447 [ out ] WERROR *rpc_status
1454 clusapi_AddNotifyNetwork(
1455 [ in ] HNOTIFY_RPC hNotify,
1456 [ in ] HNETWORK_RPC hNetwork,
1457 [ in ] uint32 dwFilter,
1458 [ in ] uint32 dwNotifyKey,
1459 [ out ] uint32 *dwStateSequence,
1460 [ out ] WERROR *rpc_status
1467 clusapi_ReAddNotifyNetwork(
1468 [ in ] HNOTIFY_RPC hNotify,
1469 [ in ] HNETWORK_RPC hNetwork,
1470 [ in ] uint32 dwFilter,
1471 [ in ] uint32 dwNotifyKey,
1472 [ in ] uint32 StateSequence,
1473 [ out ] WERROR *rpc_status
1480 clusapi_OpenNetInterface(
1481 [ in,
string ] [charset(UTF16)] uint16 *lpszNetInterfaceName,
1482 [ out ] WERROR *Status,
1483 [ out ] WERROR *rpc_status
1487 clusapi_OpenNetInterface(
1488 [ in,
string ] [charset(UTF16)] uint16 *lpszNetInterfaceName,
1489 [ out ] WERROR *Status,
1490 [ out ] WERROR *rpc_status,
1491 [ out ] HNETINTERFACE_RPC *hNetInterface
1498 clusapi_CloseNetInterface(
1499 [ in, out ] HNETINTERFACE_RPC *NetInterface
1505 typedef [v1_enum]
enum {
1506 ClusterNetInterfaceFailed = 0x00000000,
1507 ClusterNetInterfaceUnreachable = 0x00000001,
1508 ClusterNetInterfaceUnavailable = 0x00000002,
1509 ClusterNetInterfaceUp = 0x00000003,
1510 ClusterNetInterfaceStateUnknown = 0xFFFFFFFF
1511 } clusapi_ClusterNetInterfaceState;
1514 clusapi_GetNetInterfaceState(
1515 [ in ] HNETINTERFACE_RPC hNetInterface,
1516 [ out ] clusapi_ClusterNetInterfaceState *State,
1517 [ out ] WERROR *rpc_status
1524 clusapi_GetNetInterface(
1525 [ in,
string ] [charset(UTF16)] uint16 *lpszNodeName,
1526 [ in,
string ] [charset(UTF16)] uint16 *lpszNetworkName,
1527 [ out,
string ] [charset(UTF16)] uint16 **lppszInterfaceName,
1528 [ out ] WERROR *rpc_status
1535 clusapi_GetNetInterfaceId(
1536 [ in ] HNETINTERFACE_RPC hNetInterface,
1537 [ out,
string ] [charset(UTF16)] uint16 **pGuid,
1538 [ out ] WERROR *rpc_status
1545 clusapi_NodeNetInterfaceControl(
1546 [ in ] HNETINTERFACE_RPC hNetInterface,
1547 [ in ] HNODE_RPC hNode,
1548 [ in ] uint32 dwControlCode,
1549 [ in, unique, size_is(nInBufferSize) ] uint8 *lpInBuffer,
1550 [ in ] uint32 nInBufferSize,
1551 [ out, size_is(nOutBufferSize),
1552 length_is (*lpBytesReturned)] uint8 *lpOutBuffer,
1553 [ in ] uint32 nOutBufferSize,
1554 [ out ] uint32 *lpBytesReturned,
1555 [ out ] uint32 *lpcbRequired,
1556 [ out ] WERROR *rpc_status
1563 clusapi_NetInterfaceControl(
1564 [ in ] HNETINTERFACE_RPC hNetInterface,
1565 [ in ] uint32 dwControlCode,
1566 [ in, unique, size_is(nInBufferSize) ] uint8 *lpInBuffer,
1567 [ in ] uint32 nInBufferSize,
1568 [ out, size_is(nOutBufferSize),
1569 length_is (*lpBytesReturned)] uint8 *lpOutBuffer,
1570 [ in ] uint32 nOutBufferSize,
1571 [ out ] uint32 *lpBytesReturned,
1572 [ out ] uint32 *lpcbRequired,
1573 [ out ] WERROR *rpc_status
1580 clusapi_AddNotifyNetInterface(
1581 [ in ] HNOTIFY_RPC hNotify,
1582 [ in ] HNETINTERFACE_RPC hNetInterface,
1583 [ in ] uint32 dwFilter,
1584 [ in ] uint32 dwNotifyKey,
1585 [ out ] uint32 *dwStateSequence,
1586 [ out ] WERROR *rpc_status
1593 clusapi_ReAddNotifyNetInterface(
1594 [ in ] HNOTIFY_RPC hNotify,
1595 [ in ] HNETINTERFACE_RPC hNetInterface,
1596 [ in ] uint32 dwFilter,
1597 [ in ] uint32 dwNotifyKey,
1598 [ in ] uint32 StateSequence,
1599 [ out ] WERROR *rpc_status
1606 clusapi_CreateNodeEnum(
1607 [ in ] HNODE_RPC hNode,
1608 [ in ] uint32 dwType,
1610 [ out ] WERROR *rpc_status
1617 clusapi_GetClusterVersion2(
1618 [ out ] uint16 *lpwMajorVersion,
1619 [ out ] uint16 *lpwMinorVersion,
1620 [ out ] uint16 *lpwBuildNumber,
1621 [ out,
string ] [charset(UTF16)] uint16 **lpszVendorId,
1622 [ out,
string ] [charset(UTF16)] uint16 **lpszCSDVersion,
1624 [ out ] WERROR *rpc_status
1630 typedef [bitmap32bit] bitmap {
1631 CLUSTER_RESOURCE_TYPE_ENUM_NODES = 0x00000001,
1632 CLUSTER_RESOURCE_TYPE_ENUM_RESOURCES = 0x00000002
1633 } ClusterResTypeEnumType;
1636 clusapi_CreateResTypeEnum(
1637 [ in,
string ] [charset(UTF16)] uint16 *lpszTypeName,
1638 [ in ] ClusterResTypeEnumType dwType,
1640 [ out ] WERROR *rpc_status
1647 clusapi_BackupClusterDatabase(
1648 [ in,
string ] [charset(UTF16)] uint16 *lpszPathName,
1649 [ out ] WERROR *rpc_status
1656 clusapi_NodeClusterControl(
1657 [ in ] HCLUSTER_RPC hCluster,
1658 [ in ] HNODE_RPC hHostNode,
1659 [ in ] uint32 dwControlCode,
1660 [ in, unique, size_is(nInBufferSize) ] uint8 *lpInBuffer,
1661 [ in ] uint32 nInBufferSize,
1662 [ out, size_is(nOutBufferSize),
1663 length_is (*lpBytesReturned)] uint8 *lpOutBuffer,
1664 [ in ] uint32 nOutBufferSize,
1665 [ out ] uint32 *lpBytesReturned,
1666 [ out ] uint32 *lpcbRequired,
1667 [ out ] WERROR *rpc_status
1673 typedef [v1_enum]
enum {
1674 CLUSCTL_CLUSTER_UNKNOWN = 0x07000000,
1675 CLUSCTL_CLUSTER_GET_FQDN = 0x0700003D,
1676 CLUSCTL_CLUSTER_CHECK_VOTER_EVICT = 0x07000045,
1677 CLUSCTL_CLUSTER_CHECK_VOTER_DOWN = 0x07000049,
1678 CLUSCTL_CLUSTER_SHUTDOWN = 0x0700004D,
1679 CLUSCTL_CLUSTER_ENUM_COMMON_PROPERTIES = 0x07000051,
1680 CLUSCTL_CLUSTER_GET_RO_COMMON_PROPERTIES = 0x07000055,
1681 CLUSCTL_CLUSTER_GET_COMMON_PROPERTIES = 0x07000059,
1682 CLUSCTL_CLUSTER_SET_COMMON_PROPERTIES = 0x0740005E,
1683 CLUSCTL_CLUSTER_VALIDATE_COMMON_PROPERTIES = 0x07000061,
1684 CLUSCTL_CLUSTER_GET_COMMON_PROPERTY_FMTS = 0x07000065,
1685 CLUSCTL_CLUSTER_ENUM_PRIVATE_PROPERTIES = 0x07000079,
1686 CLUSCTL_CLUSTER_GET_RO_PRIVATE_PROPERTIES = 0x0700007D,
1687 CLUSCTL_CLUSTER_GET_PRIVATE_PROPERTIES = 0x07000081,
1688 CLUSCTL_CLUSTER_SET_PRIVATE_PROPERTIES = 0x07400086,
1689 CLUSCTL_CLUSTER_VALIDATE_PRIVATE_PROPERTIES = 0x07000089,
1690 CLUSCTL_CLUSTER_GET_SHARED_VOLUME_ID = 0x07000291,
1691 CLUSCTL_CLUSTER_UPGRADE_CLUSTER_VERSION = 0x074000ce,
1692 CLUSCTL_CLUSTER_CLEAR_UPGRADE_IN_PROGRESS = 0x074000d2,
1693 CLUSCTL_CLUSTER_IS_READY_FOR_UPGRADE = 0x070000d5
1694 } clusapi_ClusterControlCode;
1696 typedef [v1_enum]
enum {
1697 CLUSPROP_SYNTAX_ENDMARK = 0x00000000,
1698 CLUSPROP_SYNTAX_NAME = 0x00040003,
1699 CLUSPROP_SYNTAX_RESCLASS = 0x00020002,
1700 CLUSPROP_SYNTAX_LIST_VALUE_SZ = 0x00010003,
1701 CLUSPROP_SYNTAX_LIST_VALUE_EXPAND_SZ = 0x00010004,
1702 CLUSPROP_SYNTAX_LIST_VALUE_DWORD = 0x00010002,
1703 CLUSPROP_SYNTAX_LIST_VALUE_BINARY = 0x00010001,
1704 CLUSPROP_SYNTAX_LIST_VALUE_MULTI_SZ = 0x00010005,
1705 CLUSPROP_SYNTAX_LIST_VALUE_LONG = 0x00010007,
1706 CLUSPROP_SYNTAX_LIST_VALUE_EXPANDED_SZ = 0x00010008,
1707 CLUSPROP_SYNTAX_LIST_VALUE_SECURITY_DESCRIPTOR = 0x00010009,
1708 CLUSPROP_SYNTAX_LIST_VALUE_LARGE_INTEGER = 0x0001000a,
1709 CLUSPROP_SYNTAX_LIST_VALUE_ULARGE_INTEGER = 0x00010006,
1710 CLUSPROP_SYNTAX_LIST_VALUE_WORD = 0x0001000b,
1711 CLUSPROP_SYNTAX_LIST_VALUE_FILETIME = 0x0001000c,
1712 CLUSPROP_SYNTAX_DISK_SIGNATURE = 0x00050002,
1713 CLUSPROP_SYNTAX_SCSI_ADDRESS = 0x00060002,
1714 CLUSPROP_SYNTAX_DISK_NUMBER = 0x00070002,
1715 CLUSPROP_SYNTAX_PARTITION_INFO = 0x00080001,
1716 CLUSPROP_SYNTAX_DISK_SERIALNUMBER = 0x000a0003,
1717 CLUSPROP_SYNTAX_DISK_GUID = 0x000b0003,
1718 CLUSPROP_SYNTAX_DISK_SIZE = 0x000c0006,
1719 CLUSPROP_SYNTAX_PARTITION_INFO_EX = 0x000d0001
1720 } CLUSTER_PROPERTY_SYNTAX;
1723 CLUSTER_PROPERTY_SYNTAX Syntax;
1725 [subcontext(0),subcontext_size(Size)] [flag(NDR_REMAINING)] DATA_BLOB
Buffer;
1726 [flag(NDR_ALIGN4)] DATA_BLOB Padding;
1727 } clusapi_propertyValues;
1730 [value(CLUSPROP_SYNTAX_NAME)] CLUSTER_PROPERTY_SYNTAX syntax_name;
1731 [value(strlen_m_term(
buffer)*2)] uint32 size;
1733 [flag(NDR_ALIGN2)] DATA_BLOB padding;
1734 clusapi_propertyValues PropertyValues;
1735 [value(CLUSPROP_SYNTAX_ENDMARK)] CLUSTER_PROPERTY_SYNTAX end_mark;
1736 } clusapi_propertyValue;
1738 typedef [
public]
struct {
1739 uint32 propertyCount;
1740 clusapi_propertyValue propertyValues[propertyCount];
1741 [value(CLUSPROP_SYNTAX_ENDMARK)] CLUSTER_PROPERTY_SYNTAX end_mark;
1742 } clusapi_PROPERTY_LIST;
1745 clusapi_ClusterControl(
1746 [ in ] HCLUSTER_RPC hCluster,
1747 [ in ] clusapi_ClusterControlCode dwControlCode,
1748 [ in, unique, size_is(nInBufferSize) ] uint8 *lpInBuffer,
1749 [ in ] uint32 nInBufferSize,
1750 [ out, size_is(nOutBufferSize),
1751 length_is (*lpBytesReturned)] uint8 *lpOutBuffer,
1752 [ in ] uint32 nOutBufferSize,
1753 [ out ] uint32 *lpBytesReturned,
1754 [ out ] uint32 *lpcbRequired,
1755 [ out ] WERROR *rpc_status
1762 clusapi_UnblockGetNotifyCall(
1763 [ in ] HNOTIFY_RPC hNotify
1770 clusapi_SetServiceAccountPassword(
1771 [ in,
string ] [charset(UTF16)] uint16 *lpszNewPassword,
1772 [ in ] IDL_CLUSTER_SET_PASSWORD_FLAGS dwFlags,
1773 [ out, size_is(ReturnStatusBufferSize), length_is(*SizeReturned) ]
1775 [ in, range(0, (64 * 1024)) ] uint32 ReturnStatusBufferSize,
1776 [ out ] uint32 *SizeReturned,
1777 [ out ] uint32 *ExpectedBufferSize
1784 clusapi_SetResourceDependencyExpression(
1785 [ in ] HRES_RPC hResource,
1786 [ in,
string, unique ] [charset(UTF16)] uint16 *lpszDependencyExpression,
1787 [ out ] WERROR *rpc_status
1794 clusapi_GetResourceDependencyExpression(
1795 [ in ] HRES_RPC hResource,
1796 [ out,
string ] [charset(UTF16)] uint16 **lpszDependencyExpression,
1797 [ out ] WERROR *rpc_status
1804 Opnum111NotUsedOnWire(
void);
1810 clusapi_GetResourceNetworkName(
1811 [ in ] HRES_RPC hResource,
1812 [ out,
string ] [charset(UTF16)] uint16 **lpszName,
1813 [ out ] WERROR *rpc_status
1820 clusapi_ExecuteBatch(
1821 [ in ] HKEY_RPC hKey,
1822 [ in ] uint32 cbData,
1823 [ in, size_is(cbData)] uint8 *lpData,
1824 [ out ]
int *pdwFailedCommand,
1825 [ out ] WERROR *rpc_status
1832 clusapi_CreateBatchPort(
1833 [ in ] HKEY_RPC hKey,
1834 [ out ] HBATCH_PORT_RPC *phBatchPort,
1835 [ out ] WERROR *rpc_status
1842 clusapi_GetBatchNotification(
1843 [ in ] HBATCH_PORT_RPC hBatchNotify,
1844 [ out ] uint32 *cbData,
1845 [ out, size_is(,*cbData) ] uint8 ** lpData
1852 clusapi_CloseBatchPort(
1853 [ in, out ] HBATCH_PORT_RPC *phBatchPort
1859 typedef [bitmap32bit] bitmap {
1860 CLUSAPI_READ_ACCESS = 0x00000001,
1861 CLUSAPI_CHANGE_ACCESS = 0x00000002,
1862 CLUSAPI_GENERIC_READ = 0x80000000,
1863 CLUSAPI_GENERIC_WRITE = 0x40000000,
1864 CLUSAPI_GENERIC_EXECUTE = 0x20000000,
1865 CLUSAPI_GENERIC_ALL = 0x10000000,
1866 CLUSAPI_MAXIMUM_ALLOWED = 0x02000000
1867 } clusapi_DesiredAccessMask;
1871 clusapi_OpenClusterEx(
1872 [ in ] clusapi_DesiredAccessMask dwDesiredAccess,
1873 [ out ] uint32 *lpdwGrantedAccess,
1874 [ out ] WERROR *Status
1878 clusapi_OpenClusterEx(
1879 [ in ] clusapi_DesiredAccessMask dwDesiredAccess,
1880 [ out ] uint32 *lpdwGrantedAccess,
1881 [ out ] WERROR *Status,
1882 [ out ] HCLUSTER_RPC *hCluster
1891 [ in,
string ] [charset(UTF16)] uint16 *lpszNodeName,
1892 [ in ] clusapi_DesiredAccessMask dwDesiredAccess,
1893 [ out ] uint32 *lpdwGrantedAccess,
1894 [ out ] WERROR *Status,
1895 [ out ] WERROR *rpc_status
1900 [ in,
string ] [charset(UTF16)] uint16 *lpszNodeName,
1901 [ in ] clusapi_DesiredAccessMask dwDesiredAccess,
1902 [ out ] uint32 *lpdwGrantedAccess,
1903 [ out ] WERROR *Status,
1904 [ out ] WERROR *rpc_status,
1905 [ out ] HNODE_RPC *hNode
1912 clusapi_OpenGroupEx(
1913 [ in,
string ] [charset(UTF16)] uint16 *lpszGroupName,
1914 [ in ] clusapi_DesiredAccessMask dwDesiredAccess,
1915 [ out ] uint32 *lpdwGrantedAccess,
1916 [ out ] WERROR *Status,
1917 [ out ] WERROR *rpc_status
1921 clusapi_OpenGroupEx(
1922 [ in,
string ] [charset(UTF16)] uint16 *lpszGroupName,
1923 [ in ] clusapi_DesiredAccessMask dwDesiredAccess,
1924 [ out ] uint32 *lpdwGrantedAccess,
1925 [ out ] WERROR *Status,
1926 [ out ] WERROR *rpc_status,
1927 [ out ] HGROUP_RPC *hGroup
1934 clusapi_OpenResourceEx(
1935 [ in,
string ] [charset(UTF16)] uint16 *lpszResourceName,
1936 [ in ] clusapi_DesiredAccessMask dwDesiredAccess,
1937 [ out ] uint32 *lpdwGrantedAccess,
1938 [ out ] WERROR *Status,
1939 [ out ] WERROR *rpc_status
1943 clusapi_OpenResourceEx(
1944 [ in,
string ] [charset(UTF16)] uint16 *lpszResourceName,
1945 [ in ] clusapi_DesiredAccessMask dwDesiredAccess,
1946 [ out ] uint32 *lpdwGrantedAccess,
1947 [ out ] WERROR *Status,
1948 [ out ] WERROR *rpc_status,
1949 [ out ] HRES_RPC *hResource
1956 clusapi_OpenNetworkEx(
1957 [ in,
string ] [charset(UTF16)] uint16 *lpszNetworkName,
1958 [ in ] clusapi_DesiredAccessMask dwDesiredAccess,
1959 [ out ] uint32 *lpdwGrantedAccess,
1960 [ out ] WERROR *Status,
1961 [ out ] WERROR *rpc_status
1965 clusapi_OpenNetworkEx(
1966 [ in,
string ] [charset(UTF16)] uint16 *lpszNetworkName,
1967 [ in ] clusapi_DesiredAccessMask dwDesiredAccess,
1968 [ out ] uint32 *lpdwGrantedAccess,
1969 [ out ] WERROR *Status,
1970 [ out ] WERROR *rpc_status,
1971 [ out ] HNETWORK_RPC *hNetwork
1978 clusapi_OpenNetInterfaceEx(
1979 [ in,
string ] [charset(UTF16)] uint16 *lpszNetInterfaceName,
1980 [ in ] clusapi_DesiredAccessMask dwDesiredAccess,
1981 [ out ] uint32 *lpdwGrantedAccess,
1982 [ out ] WERROR *Status,
1983 [ out ] WERROR *rpc_status
1987 clusapi_OpenNetInterfaceEx(
1988 [ in,
string ] [charset(UTF16)] uint16 *lpszNetInterfaceName,
1989 [ in ] clusapi_DesiredAccessMask dwDesiredAccess,
1990 [ out ] uint32 *lpdwGrantedAccess,
1991 [ out ] WERROR *Status,
1992 [ out ] WERROR *rpc_status,
1993 [ out ] HNETINTERFACE_RPC *hNetInterface
2000 clusapi_ChangeCsvState(
2001 [ in ] HRES_RPC hResource,
2002 [ in ] uint32 dwState,
2003 [ out ] WERROR *rpc_status
2010 clusapi_CreateNodeEnumEx(
2011 [in] HNODE_RPC hNode,
2013 [in] uint32 dwOptions,
2016 [out] WERROR* rpc_status
2023 clusapi_CreateEnumEx(
2024 [in] HCLUSTER_RPC hCluster,
2025 [in] ClusterEnumType dwType,
2026 [in] uint32 dwOptions,
2029 [out] WERROR* rpc_status
2036 clusapi_PauseNodeEx(
2037 [ in ] HNODE_RPC hNode,
2038 [ in ] boolean8 bDrainNode,
2039 [ in ] uint32 dwPauseFlags,
2040 [ out ] WERROR *rpc_status
2047 clusapi_PauseNodeWithDrainTarget(
2048 [ in ] HNODE_RPC hNode,
2049 [ in ] uint32 dwPauseFlags,
2050 [ in ] HNODE_RPC hNodeDrainTarget,
2051 [ out ] WERROR *rpc_status
2058 clusapi_ResumeNodeEx(
2059 [ in ] HNODE_RPC hNode,
2060 [ in ] uint32 dwResumeFailbackType,
2061 [ in ] uint32 dwResumeFlagsReserved,
2062 [ out ] WERROR *rpc_status
2069 clusapi_CreateGroupEx(
2070 [ in,
string ] [charset(UTF16)] uint16 *lpszGroupName,
2072 [ out ] WERROR *Status,
2073 [ out ] WERROR *rpc_status
2077 clusapi_CreateGroupEx(
2078 [ in,
string ] [charset(UTF16)] uint16 *lpszGroupName,
2080 [ out ] WERROR *Status,
2081 [ out ] WERROR *rpc_status,
2082 [ out ] HGROUP_RPC *hGroup
2089 clusapi_OnlineGroupEx(
2090 [ in ] HGROUP_RPC hGroup,
2091 [ in ] uint32 dwOnlineFlags,
2092 [ in, size_is(cbInBufferSize) ] uint8* lpInBuffer,
2093 [ in ] uint32 cbInBufferSize,
2094 [ out ] WERROR *rpc_status
2101 clusapi_OfflineGroupEx(
2102 [ in ] HGROUP_RPC hGroup,
2103 [ in ] uint32 dwOfflineFlags,
2104 [ in, size_is(cbInBufferSize) ] uint8* lpInBuffer,
2105 [ in ] uint32 cbInBufferSize,
2106 [ out ] WERROR *rpc_status
2113 clusapi_MoveGroupEx(
2114 [ in ] HGROUP_RPC hGroup,
2115 [ in ] uint32 dwMoveFlags,
2116 [ in, size_is(cbInBufferSize) ] uint8* lpInBuffer,
2117 [ in ] uint32 cbInBufferSize,
2118 [ out ] WERROR *rpc_status
2125 clusapi_MoveGroupToNodeEx(
2126 [ in ] HGROUP_RPC hGroup,
2127 [ in ] HNODE_RPC hNode,
2128 [ in ] uint32 dwMoveFlags,
2129 [ in, size_is(cbInBufferSize) ] uint8* lpInBuffer,
2130 [ in ] uint32 cbInBufferSize,
2131 [ out ] WERROR *rpc_status
2138 clusapi_CancelClusterGroupOperation(
2139 [ in ] HGROUP_RPC hGroup,
2140 [ in ] uint32 dwCancelFlags,
2141 [ out ] WERROR *rpc_status
2148 clusapi_OnlineResourceEx(
2149 [ in ] HRES_RPC hResource,
2150 [ in ] uint32 dwOnlineFlags,
2151 [ in, size_is(cbInBufferSize) ] uint8* lpInBuffer,
2152 [ in ] uint32 cbInBufferSize,
2153 [ out ] WERROR *rpc_status
2160 clusapi_OfflineResourceEx(
2161 [ in ] HRES_RPC hResource,
2162 [ in ] uint32 dwOfflineFlags,
2163 [ in, size_is(cbInBufferSize) ] uint8* lpInBuffer,
2164 [ in ] uint32 cbInBufferSize,
2165 [ out ] WERROR *rpc_status
2168 #define HGENERIC_RPC policy_handle 2170 typedef [context_handle]
void *HGENERIC_RPC;
2174 uint32 dwObjectType;
2180 [ size_is(dwBufferSize ) ] uint8*
buffer;
2181 uint32 dwBufferSize;
2182 [string] [charset(UTF16)] uint16 *ObjectId;
2183 [string] [charset(UTF16)] uint16 *ParentId;
2184 [string] [charset(UTF16)] uint16 *Name;
2185 [string] [charset(UTF16)] uint16 *Type;
2189 uint32 *dwNotifyKey;
2201 clusapi_CreateNotifyV2(
2202 [ out ] WERROR *rpc_error,
2203 [ out ] WERROR *rpc_status
2207 clusapi_CreateNotifyV2(
2208 [ out ] WERROR *rpc_error,
2209 [ out ] WERROR *rpc_status,
2210 [ out ] HNOTIFY_RPC *hNotify
2218 clusapi_AddNotifyV2(
2219 [ in ] HNOTIFY_RPC hNotify,
2220 [ in ] HGENERIC_RPC hObject,
2222 [ in ] uint32 dwNotifyKey,
2223 [ in ] uint32 dwVersion,
2224 [ in ] boolean8 isTargetedAtObject,
2225 [ out ] WERROR *rpc_status
2232 clusapi_GetNotifyV2(
2233 [ in ] HNOTIFY_RPC hNotify,
2235 [ out ] uint32 *dwNumNotifications
2242 clusapi_QueryAllValues(
2243 [ in ] HKEY_RPC hKey,
2244 [ out ] uint32 *pcbData,
2245 [ out, size_is(1, *pcbData) ] uint8 ** ppData,
2246 [ out ] WERROR *rpc_status
2251 uint8 DiskIdBlob[16];
2258 clusapi_StmFindDisk(
2259 [ in ] HCLUSTER_RPC hCluster,
2260 [ in ] uint32 dwFlags,
2262 [ in, size_is(uniqueIdSize), unique ] uint8 *pUniqueId,
2263 [ in ] uint32 uniqueIdSize,
2264 [ out, ref,
string ] [charset(UTF16)] uint16 **ppszDeviceName,
2265 [ out ] WERROR *rpc_status
2269 [string] [charset(UTF16)] uint16 *pszNodeName;
2272 [unique, size_is(ResultSize)] uint8 *pResultData;
2285 [ in ] HCLUSTER_RPC hCluster,
2286 [ in ] boolean8 fExcludeSelf,
2287 [ in ] hyper nodeSet,
2288 [ in ] uint32 dwTimeout,
2289 [ in ] uint32 dwComponent,
2290 [ in ] uint32 dwControlCode,
2291 [ in ] uint32 inSize,
2292 [ in, unique, size_is(inSize) ] uint8 *pInData,
2294 [ out ] WERROR *rpc_status
2301 clusapi_CreateGroupEnum(
2302 [ in ] HCLUSTER_RPC hCluster,
2303 [ in, unique, size_is(cbProperties)] uint8* pProperties,
2304 [ in ] uint32 cbProperties,
2305 [ in, unique, size_is(cbRoProperties)] uint8* pRoProperties,
2306 [ in ] uint32 cbRoProperties,
2308 [ out ] WERROR *rpc_status
2315 clusapi_CreateResourceEnum(
2316 [ in ] HCLUSTER_RPC hCluster,
2317 [ in, unique, size_is(cbProperties)] uint8* pProperties,
2318 [ in ] uint32 cbProperties,
2319 [ in, unique, size_is(cbRoProperties)] uint8* pRoProperties,
2320 [ in ] uint32 cbRoProperties,
2322 [ out ] WERROR *rpc_status
2329 clusapi_ExecuteReadBatch(
2330 [ in ] HKEY_RPC hKey,
2331 [ in ] uint32 cbInData,
2332 [ in, size_is(cbInData)] uint8 *lpInData,
2333 [ out ] uint32 *cbOutData,
2334 [ out, size_is(,*cbOutData) ] uint8 ** lpOutData,
2335 [ out ] WERROR *rpc_status
2342 clusapi_RestartResource(
2343 [ in ] HRES_RPC hResource,
2344 [ in ] uint32 dwFlags,
2345 [ out ] WERROR *rpc_status
2351 [string] [charset(UTF16)] uint16 *Name;
2358 clusapi_GetNotifyAsync(
2359 [ in ] HNOTIFY_RPC hNotify,
2361 [ out ] uint32 *dwNumNotifications
2365 DiskIdSignature = 0x00000001,
2366 DiskIdGuid = 0x00000002,
2367 DiskIdUnKnown = 0x00001388
2368 } CLUSDSK_DISKID_ENUM;
2372 CLUSDSK_DISKID_ENUM DiskIdType;
2373 [switch_is(DiskIdType)]
union {
2374 [
case(DiskIdSignature)] uint32 DiskSignature;
2375 [
case(DiskIdGuid)] GUID DiskGuid;
2380 CLUSPROP_TYPE_ENDMARK = 0x0000,
2381 CLUSPROP_TYPE_LIST_VALUE = 0x0001,
2382 CLUSPROP_TYPE_RESCLASS = 0x0002,
2383 CLUSPROP_TYPE_NAME = 0x0004,
2384 CLUSPROP_TYPE_SIGNATURE = 0x0005,
2385 CLUSPROP_TYPE_SCSIADDRESS = 0x0006,
2386 CLUSPROP_TYPE_DISK_NUMBER = 0x0007,
2387 CLUSPROP_TYPE_PARTITION_INFO = 0x0008,
2388 CLUSPROP_TYPE_DISK_SERIALNUMBER = 0x000a,
2389 CLUSPROP_TYPE_DISK_GUID = 0x000b,
2390 CLUSPROP_TYPE_DISK_SIZE = 0x000c,
2391 CLUSPROP_TYPE_PARTITION_INFO_EX = 0x000d
2392 } CLUSTER_PROPERTY_TYPE;
2395 CLUSPROP_FORMAT_UNKNOWN = 0x0000,
2396 CLUSPROP_FORMAT_BINARY = 0x0001,
2397 CLUSPROP_FORMAT_DWORD = 0x0002,
2398 CLUSPROP_FORMAT_SZ = 0x0003,
2399 CLUSPROP_FORMAT_EXPAND_SZ = 0x0004,
2400 CLUSPROP_FORMAT_MULTI_SZ = 0x0005,
2401 CLUSPROP_FORMAT_ULARGE_INTEGER = 0x0006,
2402 CLUSPROP_FORMAT_LONG = 0x0007,
2403 CLUSPROP_FORMAT_EXPANDED_SZ = 0x0008,
2404 CLUSPROP_FORMAT_SECURITY_DESCRIPTOR = 0x0009,
2405 CLUSPROP_FORMAT_LARGE_INTEGER = 0x000a,
2406 CLUSPROP_FORMAT_WORD = 0x000b,
2407 CLUSPROP_FORMAT_FILETIME = 0x000c
2408 } CLUSTER_PROPERTY_FORMAT;
2411 CLUS_CHAR_UNKNOWN = 0x00000000,
2412 CLUS_CHAR_QUORUM = 0x00000001,
2413 CLUS_CHAR_DELETE_REQUIRES_ALL_NODES = 0x00000002,
2414 CLUS_CHAR_LOCAL_QUORUM = 0x00000004,
2415 CLUS_CHAR_BROADCAST_DELETE = 0x00000020,
2416 CLUS_CHAR_SINGLE_CLUSTER_INSTANCE = 0x00000040,
2417 CLUS_CHAR_SINGLE_GROUP_INSTANCE = 0x00000080,
2418 CLUS_CHAR_COEXIST_IN_SHARED_VOLUME_GROUP = 0x00000100,
2419 CLUS_CHAR_RESERVED1 = 0x00000200,
2420 CLUS_CHAR_MONITOR_DETACH = 0x00000400,
2421 CLUS_CHAR_RESERVED2 = 0x00000800,
2422 CLUS_CHAR_RESERVED3 = 0x00001000,
2423 CLUS_CHAR_RESERVED4 = 0x00002000
2424 } CLUS_CHARACTERISTICS;
2427 CLUS_FLAG_CORE = 0x00000001
2431 MaintenanceModeTypeDisableIsAliveCheck = 1,
2432 MaintenanceModeTypeOfflineResource = 2,
2433 MaintenanceModeTypeUnclusterResource = 3
2434 } MAINTENANCE_MODE_TYPE;
2437 CLUSTER_CHANGE_NODE_STATE = 0x00000001,
2438 CLUSTER_CHANGE_NODE_DELETED = 0x00000002,
2439 CLUSTER_CHANGE_NODE_ADDED = 0x00000004,
2440 CLUSTER_CHANGE_NODE_PROPERTY = 0x00000008,
2441 CLUSTER_CHANGE_REGISTRY_NAME = 0x00000010,
2442 CLUSTER_CHANGE_REGISTRY_ATTRIBUTES = 0x00000020,
2443 CLUSTER_CHANGE_REGISTRY_VALUE = 0x00000040,
2444 CLUSTER_CHANGE_REGISTRY_SUBTREE = 0x00000080,
2445 CLUSTER_CHANGE_RESOURCE_STATE = 0x00000100,
2446 CLUSTER_CHANGE_RESOURCE_DELETED = 0x00000200,
2447 CLUSTER_CHANGE_RESOURCE_ADDED = 0x00000400,
2448 CLUSTER_CHANGE_RESOURCE_PROPERTY = 0x00000800,
2449 CLUSTER_CHANGE_GROUP_STATE = 0x00001000,
2450 CLUSTER_CHANGE_GROUP_DELETED = 0x00002000,
2451 CLUSTER_CHANGE_GROUP_ADDED = 0x00004000,
2452 CLUSTER_CHANGE_GROUP_PROPERTY = 0x00008000,
2453 CLUSTER_CHANGE_RESOURCE_TYPE_DELETED = 0x00010000,
2454 CLUSTER_CHANGE_RESOURCE_TYPE_ADDED = 0x00020000,
2455 CLUSTER_CHANGE_RESOURCE_TYPE_PROPERTY = 0x00040000,
2456 CLUSTER_CHANGE_CLUSTER_RECONNECT = 0x00080000,
2457 CLUSTER_CHANGE_NETWORK_STATE = 0x00100000,
2458 CLUSTER_CHANGE_NETWORK_DELETED = 0x00200000,
2459 CLUSTER_CHANGE_NETWORK_ADDED = 0x00400000,
2460 CLUSTER_CHANGE_NETWORK_PROPERTY = 0x00800000,
2461 CLUSTER_CHANGE_NETINTERFACE_STATE = 0x01000000,
2462 CLUSTER_CHANGE_NETINTERFACE_DELETED = 0x02000000,
2463 CLUSTER_CHANGE_NETINTERFACE_ADDED = 0x04000000,
2464 CLUSTER_CHANGE_NETINTERFACE_PROPERTY = 0x08000000,
2465 CLUSTER_CHANGE_QUORUM_STATE = 0x10000000,
2466 CLUSTER_CHANGE_CLUSTER_STATE = 0x20000000,
2467 CLUSTER_CHANGE_CLUSTER_PROPERTY = 0x40000000,
2468 CLUSTER_CHANGE_HANDLE_CLOSE = 0x80000000
2472 CLUSREG_SET_VALUE = 1,
2473 CLUSREG_CREATE_KEY = 2,
2474 CLUSREG_DELETE_KEY = 3,
2475 CLUSREG_DELETE_VALUE = 4,
2476 CLUSREG_VALUE_DELETED = 6,
2477 CLUSREG_READ_KEY = 7,
2478 CLUSREG_READ_VALUE = 8,
2479 CLUSREG_READ_ERROR = 9
2480 } CLUSTER_REG_BATCH_COMMAND;
2483 IDL_CLUSTER_SET_PASSWORD_IGNORE_DOWN_NODES = 1
2484 } IDL_CLUSTER_SET_PASSWORD_FLAGS;
2487 CLUSTER_QUORUM_MAINTAINED = 0,
2488 CLUSTER_QUORUM_LOST = 1
2489 } CLUSTER_QUORUM_VALUE;
2492 CLUSTER_OBJECT_TYPE_CLUSTER = 0x00000001,
2493 CLUSTER_OBJECT_TYPE_GROUP = 0x00000002,
2494 CLUSTER_OBJECT_TYPE_RESOURCE = 0x00000003,
2495 CLUSTER_OBJECT_TYPE_RESOURCE_TYPE = 0x00000004,
2496 CLUSTER_OBJECT_TYPE_NETWORK_INTERFACE = 0x00000005,
2497 CLUSTER_OBJECT_TYPE_NETWORK = 0x00000006,
2498 CLUSTER_OBJECT_TYPE_NODE = 0x00000007,
2499 CLUSTER_OBJECT_TYPE_REGISTRY = 0x00000008,
2500 CLUSTER_OBJECT_TYPE_QUORUM = 0x00000009,
2501 CLUSTER_OBJECT_TYPE_SHARED_VOLUME = 0x0000000a
2502 } CLUSTER_OBJECT_TYPE;
2505 CLUSTER_CHANGE_CLUSTER_RECONNECT_V2 = 0x00000001,
2506 CLUSTER_CHANGE_CLUSTER_STATE_V2 = 0x00000002,
2507 CLUSTER_CHANGE_CLUSTER_GROUP_ADDED_V2 = 0x00000004,
2508 CLUSTER_CHANGE_CLUSTER_HANDLE_CLOSE_V2 = 0x00000008,
2509 CLUSTER_CHANGE_CLUSTER_NETWORK_ADDED_V2 = 0x00000010,
2510 CLUSTER_CHANGE_CLUSTER_NODE_ADDED_V2 = 0x00000020,
2511 CLUSTER_CHANGE_CLUSTER_RESOURCE_TYPE_ADDED_V2 = 0x00000040,
2512 CLUSTER_CHANGE_CLUSTER_COMMON_PROPERTY_V2 = 0x00000080,
2513 CLUSTER_CHANGE_CLUSTER_PRIVATE_PROPERTY_V2 = 0x00000100,
2514 CLUSTER_CHANGE_CLUSTER_LOST_NOTIFICATIONS_V2 = 0x00000200,
2515 CLUSTER_CHANGE_CLUSTER_RENAME_V2 = 0x00000400
2516 } CLUSTER_CHANGE_CLUSTER_V2;
2519 CLUSTER_CHANGE_GROUP_DELETED_V2 = 0x00000001,
2520 CLUSTER_CHANGE_GROUP_COMMON_PROPERTY_V2 = 0x00000002,
2521 CLUSTER_CHANGE_GROUP_PRIVATE_PROPERTY_V2 = 0x00000004,
2522 CLUSTER_CHANGE_GROUP_STATE_V2 = 0x00000008,
2523 CLUSTER_CHANGE_GROUP_OWNER_NODE_V2 = 0x00000010,
2524 CLUSTER_CHANGE_GROUP_PREFERRED_OWNERS_V2 = 0x00000020,
2525 CLUSTER_CHANGE_GROUP_RESOURCE_ADDED_V2 = 0x00000040,
2526 CLUSTER_CHANGE_GROUP_RESOURCE_GAINED_V2 = 0x00000080,
2527 CLUSTER_CHANGE_GROUP_RESOURCE_LOST_V2 = 0x00000100,
2528 CLUSTER_CHANGE_GROUP_HANDLE_CLOSE_V2 = 0x00000200
2529 } CLUSTER_CHANGE_GROUP_V2;
2532 CLUSTER_CHANGE_RESOURCE_COMMON_PROPERTY_V2 = 0x00000001,
2533 CLUSTER_CHANGE_RESOURCE_PRIVATE_PROPERTY_V2 = 0x00000002,
2534 CLUSTER_CHANGE_RESOURCE_STATE_V2 = 0x00000004,
2535 CLUSTER_CHANGE_RESOURCE_OWNER_GROUP_V2 = 0x00000008,
2536 CLUSTER_CHANGE_RESOURCE_DEPENDENCIES_V2 = 0x00000010,
2537 CLUSTER_CHANGE_RESOURCE_DEPENDENTS_V2 = 0x00000020,
2538 CLUSTER_CHANGE_RESOURCE_POSSIBLE_OWNERS_V2 = 0x00000040,
2539 CLUSTER_CHANGE_RESOURCE_DELETED_V2 = 0x00000080,
2540 CLUSTER_CHANGE_RESOURCE_DLL_UPGRADED_V2 = 0x00000100,
2541 CLUSTER_CHANGE_RESOURCE_HANDLE_CLOSE_V2 = 0x00000200
2542 } CLUSTER_CHANGE_RESOURCE_V2;
2545 CLUSTER_CHANGE_RESOURCE_TYPE_DELETED_V2 = 0x00000001,
2546 CLUSTER_CHANGE_RESOURCE_TYPE_COMMON_PROPERTY_V2 = 0x00000002,
2547 CLUSTER_CHANGE_RESOURCE_TYPE_PRIVATE_PROPERTY_V2 = 0x00000004,
2548 CLUSTER_CHANGE_RESOURCE_TYPE_POSSIBLE_OWNERS_V2 = 0x00000008,
2549 CLUSTER_CHANGE_RESOURCE_TYPE_DLL_UPGRADED_V2 = 0x00000010
2550 } CHANGE_RESOURCE_TYPE_V2;
2553 CLUSTER_CHANGE_NETINTERFACE_DELETED_V2 = 0x00000001,
2554 CLUSTER_CHANGE_NETINTERFACE_COMMON_PROPERTY_V2 = 0x00000002,
2555 CLUSTER_CHANGE_NETINTERFACE_PRIVATE_PROPERTY_V2 = 0x00000004,
2556 CLUSTER_CHANGE_NETINTERFACE_STATE_V2 = 0x00000008,
2557 CLUSTER_CHANGE_NETINTERFACE_HANDLE_CLOSE_V2 = 0x00000010
2558 } CLUSTER_CHANGE_NETINTERFACE_V2;
2561 CLUSTER_CHANGE_NETWORK_DELETED_V2 = 0x00000001,
2562 CLUSTER_CHANGE_NETWORK_COMMON_PROPERTY_V2 = 0x00000002,
2563 CLUSTER_CHANGE_NETWORK_PRIVATE_PROPERTY_V2 = 0x00000004,
2564 CLUSTER_CHANGE_NETWORK_STATE_V2 = 0x00000008,
2565 CLUSTER_CHANGE_NETWORK_HANDLE_CLOSE_V2 = 0x00000010
2566 } CLUSTER_CHANGE_NETWORK_V2;
2569 CLUSTER_CHANGE_NODE_NETINTERFACE_ADDED_V2 = 0x00000001,
2570 CLUSTER_CHANGE_NODE_DELETED_V2 = 0x00000002,
2571 CLUSTER_CHANGE_NODE_COMMON_PROPERTY_V2 = 0x00000004,
2572 CLUSTER_CHANGE_NODE_PRIVATE_PROPERTY_V2 = 0x00000008,
2573 CLUSTER_CHANGE_NODE_STATE_V2 = 0x00000010,
2574 CLUSTER_CHANGE_NODE_GROUP_GAINED_V2 = 0x00000020,
2575 CLUSTER_CHANGE_NODE_GROUP_LOST_V2 = 0x00000040,
2576 CLUSTER_CHANGE_NODE_HANDLE_CLOSE_V2 = 0x00000080
2577 } CLUSTER_CHANGE_NODE_V2;
2580 CLUSTER_CHANGE_REGISTRY_ATTRIBUTES_V2 = 0x00000001,
2581 CLUSTER_CHANGE_REGISTRY_NAME_V2 = 0x00000002,
2582 CLUSTER_CHANGE_REGISTRY_SUBTREE_V2 = 0x00000004,
2583 CLUSTER_CHANGE_REGISTRY_VALUE_V2 = 0x00000008,
2584 CLUSTER_CHANGE_REGISTRY_HANDLE_CLOSE_V2 = 0x00000010
2585 } CLUSTER_CHANGE_REGISTRY_V2;
2588 CLUSTER_CHANGE_QUORUM_STATE_V2 = 0x00000001
2589 } CLUSTER_CHANGE_QUORUM_V2;
2592 CLUSTER_CHANGE_SHARED_VOLUME_STATE_V2 = 0x00000001
2593 } CLUSTER_CHANGE_SHARED_VOLUME_V2;
2596 DiskIdSignature = 0x00000001,
2597 DiskIdGuid = 0x00000002,
2598 DiskIdUnKnown = 0x00001388
2599 } CLUSDSK_DISKID_ENUM;
Definition: tvbparse.h:144
Definition: clusapi.idl:2249
Definition: clusapi.idl:54
Definition: clusapi.idl:72
Definition: clusapi.idl:2188
Definition: clusapi.idl:62
Definition: clusapi.idl:209
Definition: clusapi.idl:42
Definition: clusapi.idl:204
Definition: clusapi.idl:193
Definition: clusapi.idl:2268
Definition: clusapi.idl:171
Definition: clusapi.idl:181
Definition: conversation.c:27
Definition: clusapi.idl:48
Definition: mcast_stream.h:30
Definition: clusapi.idl:2178
Definition: clusapi.idl:176
Definition: clusapi.idl:2173
Definition: clusapi.idl:2275
Definition: clusapi.idl:2348
Definition: clusapi.idl:13