6 uuid(b97db8b2-4c63-11cf-bff6-08002be23f2f),
8 pointer_default(unique),
9 helpstring("Failover Cluster Management API (clusapi)")
14 typedef [context_handle] void *HCLUSTER_RPC;
15 typedef [context_handle] void *HNODE_RPC;
16 typedef [context_handle] void *HGROUP_RPC;
17 typedef [context_handle] void *HRES_RPC;
18 typedef [context_handle] void *HKEY_RPC;
19 typedef [context_handle] void *HNOTIFY_RPC;
20 typedef [context_handle] void *HNETWORK_RPC;
21 typedef [context_handle] void *HNETINTERFACE_RPC;
22 typedef [context_handle] void *HBATCH_PORT_RPC;
24 #define HCLUSTER_RPC policy_handle
25 #define HNODE_RPC policy_handle
26 #define HGROUP_RPC policy_handle
27 #define HRES_RPC policy_handle
28 #define HKEY_RPC policy_handle
29 #define HNOTIFY_RPC policy_handle
30 #define HNETWORK_RPC policy_handle
31 #define HNETINTERFACE_RPC policy_handle
32 #define HBATCH_PORT_RPC policy_handle
36 [ size_is( cbInSecurityDescriptor ), length_is( cbOutSecurityDescriptor ) ] uint8 *lpSecurityDescriptor;
37 uint32 cbInSecurityDescriptor;
38 uint32 cbOutSecurityDescriptor;
39 } RPC_SECURITY_DESCRIPTOR;
43 RPC_SECURITY_DESCRIPTOR RpcSecurityDescriptor;
45 } RPC_SECURITY_ATTRIBUTES;
48 [value(20)] uint32 dwSize;
49 uint32 dwClusterHighestVersion;
50 uint32 dwClusterLowestVersion;
53 } CLUSTER_OPERATIONAL_VERSION_INFO;
57 boolean8 SetAttempted;
59 } IDL_CLUSTER_SET_PASSWORD_STATUS;
62 IDL_CLUSTER_SET_PASSWORD_IGNORE_DOWN_NODES = 1
63 } IDL_CLUSTER_SET_PASSWORD_FLAGS;
68 } CLUSTER_CREATE_GROUP_INFO_RPC;
76 [ out ] WERROR *Status
81 [ out ] WERROR *Status,
82 [ out ] HCLUSTER_RPC *Cluster
91 [ in, out ] HCLUSTER_RPC *Cluster
98 clusapi_SetClusterName(
99 [ in, string ] [charset(UTF16)] uint16 *NewClusterName,
100 [ out ] WERROR *rpc_status
107 clusapi_GetClusterName(
108 [ out, string ] [charset(UTF16)] uint16 **ClusterName,
109 [ out, string ] [charset(UTF16)] uint16 **NodeName
116 clusapi_GetClusterVersion(
117 [ out ] uint16 *lpwMajorVersion,
118 [ out ] uint16 *lpwMinorVersion,
119 [ out ] uint16 *lpwBuildNumber,
120 [ out, string ] [charset(UTF16)] uint16 **lpszVendorId,
121 [ out, string ] [charset(UTF16)] uint16 **lpszCSDVersion
128 clusapi_GetQuorumResource(
129 [ out, string ] [charset(UTF16)] uint16 **lpszResourceName,
130 [ out, string ] [charset(UTF16)] uint16 **lpszDeviceName,
131 [ out ] uint32 *pdwMaxQuorumLogSize,
132 [ out ] WERROR *rpc_status
139 clusapi_SetQuorumResource(
140 [ in ] HRES_RPC hResource,
141 [ in, string ] [charset(UTF16)] uint16 *lpszDeviceName,
142 [ in ] uint32 dwMaxQuorumLogSize,
143 [ out ] WERROR *rpc_status
146 typedef [bitmap32bit] bitmap {
147 CLUSTER_ENUM_NODE = 0x00000001,
148 CLUSTER_ENUM_RESTYPE = 0x00000002,
149 CLUSTER_ENUM_RESOURCE = 0x00000004,
150 CLUSTER_ENUM_GROUP = 0x00000008,
151 CLUSTER_ENUM_NETWORK = 0x00000010,
152 CLUSTER_ENUM_NETINTERFACE = 0x00000020,
153 CLUSTER_ENUM_INTERNAL_NETWORK = 0x80000000,
154 CLUSTER_ENUM_SHARED_VOLUME_RESOURCE = 0x40000000
158 ClusterEnumType Type;
159 [string] [charset(UTF16)] uint16 *Name;
164 [size_is(EntryCount)] ENUM_ENTRY Entry[*];
168 [string] [charset(UTF16)] uint16 *Name;
169 [string] [charset(UTF16)] uint16 *Id;
171 [string] [charset(UTF16)] uint16 *Owner;
174 [size_is(cbProperties)] uint8* Properties;
175 uint32 cbRoProperties;
176 [size_is(cbRoProperties)] uint8* RoProperties;
180 [string] [charset(UTF16)] uint16 *Name;
181 [string] [charset(UTF16)] uint16 *Id;
182 [string] [charset(UTF16)] uint16 *OwnerName;
183 [string] [charset(UTF16)] uint16 *OwnerId;
185 [size_is(cbProperties)] uint8* Properties;
186 uint32 cbRoProperties;
187 [size_is(cbRoProperties)] uint8* RoProperties;
188 } RESOURCE_ENUM_ENTRY;
192 [size_is(EntryCount)] GROUP_ENUM_ENTRY Entry[*];
197 [size_is(EntryCount)] RESOURCE_ENUM_ENTRY Entry[*];
198 } RESOURCE_ENUM_LIST;
205 [ in ] ClusterEnumType dwType,
206 [ out ] ENUM_LIST **ReturnEnum,
207 [ out ] WERROR *rpc_status
215 clusapi_OpenResource(
216 [ in, string ] [charset(UTF16)] uint16 *lpszResourceName,
217 [ out ] WERROR *Status,
218 [ out ] WERROR *rpc_status
222 clusapi_OpenResource(
223 [ in, string ] [charset(UTF16)] uint16 *lpszResourceName,
224 [ out ] WERROR *Status,
225 [ out ] WERROR *rpc_status,
226 [ out ] HRES_RPC *hResource
232 typedef [v1_enum] enum {
233 CLUSTER_RESOURCE_DEFAULT_MONITOR = 0x00000000,
234 CLUSTER_RESOURCE_SEPARATE_MONITOR = 0x00000001
235 } clusapi_CreateResourceFlags;
239 clusapi_CreateResource(
240 [ in ] HGROUP_RPC hGroup,
241 [ in, string ] [charset(UTF16)] uint16 *lpszResourceName,
242 [ in, string ] [charset(UTF16)] uint16 *lpszResourceType,
243 [ in ] clusapi_CreateResourceFlags dwFlags,
244 [ out ] WERROR *Status,
245 [ out ] WERROR *rpc_status
249 clusapi_CreateResource(
250 [ in ] HGROUP_RPC hGroup,
251 [ in, string ] [charset(UTF16)] uint16 *lpszResourceName,
252 [ in, string ] [charset(UTF16)] uint16 *lpszResourceType,
253 [ in ] clusapi_CreateResourceFlags dwFlags,
254 [ out ] WERROR *Status,
255 [ out ] WERROR *rpc_status,
256 [ out ] HRES_RPC *hResource
263 clusapi_DeleteResource(
264 [ in ] HRES_RPC hResource,
265 [ out ] WERROR *rpc_status
272 clusapi_CloseResource(
273 [ in, out ] HRES_RPC *Resource
279 typedef [v1_enum] enum {
280 ClusterResourceInitializing = 0x00000001,
281 ClusterResourceOnline = 0x00000002,
282 ClusterResourceOffline = 0x00000003,
283 ClusterResourceFailed = 0x00000004,
284 ClusterResourceOnlinePending = 0x00000081,
285 ClusterResourceOfflinePending = 0x00000082,
286 ClusterResourceStateUnknown = 0xFFFFFFFF
287 } clusapi_ClusterResourceState;
290 clusapi_GetResourceState(
291 [ in ] HRES_RPC hResource,
292 [ out ] clusapi_ClusterResourceState *State,
293 [ out, string ] [charset(UTF16)] uint16 **NodeName,
294 [ out, string ] [charset(UTF16)] uint16 **GroupName,
295 [ out ] WERROR *rpc_status
302 clusapi_SetResourceName(
303 [ in ] HRES_RPC hResource,
304 [ in, string ] [charset(UTF16)] uint16 *lpszResourceName,
305 [ out ] WERROR *rpc_status
312 clusapi_GetResourceId(
313 [ in ] HRES_RPC hResource,
314 [ out, string ] [charset(UTF16)] uint16 **pGuid,
315 [ out ] WERROR *rpc_status
322 clusapi_GetResourceType(
323 [ in ] HRES_RPC hResource,
324 [ out, string ] [charset(UTF16)] uint16 **lpszResourceType,
325 [ out ] WERROR *rpc_status
332 clusapi_FailResource(
333 [ in ] HRES_RPC hResource,
334 [ out ] WERROR *rpc_status
341 clusapi_OnlineResource(
342 [ in ] HRES_RPC hResource,
343 [ out ] WERROR *rpc_status
350 clusapi_OfflineResource(
351 [ in ] HRES_RPC hResource,
352 [ out ] WERROR *rpc_status
359 clusapi_AddResourceDependency(
360 [ in ] HRES_RPC hResource,
361 [ in ] HRES_RPC hDependsOn,
362 [ out ] WERROR *rpc_status
369 clusapi_RemoveResourceDependency(
370 [ in ] HRES_RPC hResource,
371 [ in ] HRES_RPC hDependsOn,
372 [ out ] WERROR *rpc_status
379 clusapi_CanResourceBeDependent(
380 [ in ] HRES_RPC hResource,
381 [ in ] HRES_RPC hResourceDependent,
382 [ out ] WERROR *rpc_status
389 clusapi_CreateResEnum(
390 [ in ] HRES_RPC hResource,
391 [ in ] uint32 dwType,
392 [ out ] ENUM_LIST **ReturnEnum,
393 [ out ] WERROR *rpc_status
400 clusapi_AddResourceNode(
401 [ in ] HRES_RPC hResource,
402 [ in ] HNODE_RPC hNode,
403 [ out ] WERROR *rpc_status
410 clusapi_RemoveResourceNode(
411 [ in ] HRES_RPC hResource,
412 [ in ] HNODE_RPC hNode,
413 [ out ] WERROR *rpc_status
420 clusapi_ChangeResourceGroup(
421 [ in ] HRES_RPC hResource,
422 [ in ] HGROUP_RPC hGroup,
423 [ out ] WERROR *rpc_status
430 clusapi_CreateResourceType(
431 [ in, string ] [charset(UTF16)] uint16 *lpszTypeName,
432 [ in, string ] [charset(UTF16)] uint16 *lpszDisplayName,
433 [ in, string ] [charset(UTF16)] uint16 *lpszDllName,
434 [ in ] uint32 dwLooksAlive,
435 [ in ] uint32 dwIsAlive,
436 [ out ] WERROR *rpc_status
443 clusapi_DeleteResourceType(
444 [ in, string ] [charset(UTF16)] uint16 *lpszTypeName,
445 [ out ] WERROR *rpc_status
453 [ in ] uint32 samDesired,
454 [ out ] WERROR *Status,
455 [ out ] WERROR *rpc_status
460 [ in ] uint32 samDesired,
461 [ out ] WERROR *Status,
462 [ out ] WERROR *rpc_status,
463 [ out ] HKEY_RPC *phKey
471 [ in ] HKEY_RPC hKey,
472 [ in, string ] [charset(UTF16)] uint16 *lpSubKey,
473 [ in ] uint32 dwOptions,
474 [ in ] uint32 samDesired,
475 [ in, unique ] RPC_SECURITY_ATTRIBUTES *lpSecurityAttributes,
476 [ out ] uint32 *lpdwDisposition,
477 [ out ] WERROR *Status,
478 [ out ] WERROR *rpc_status
483 [ in ] HKEY_RPC hKey,
484 [ in, string ] [charset(UTF16)] uint16 *lpSubKey,
485 [ in ] uint32 dwOptions,
486 [ in ] uint32 samDesired,
487 [ in, unique ] RPC_SECURITY_ATTRIBUTES *lpSecurityAttributes,
488 [ out ] uint32 *lpdwDisposition,
489 [ out ] WERROR *Status,
490 [ out ] WERROR *rpc_status,
491 [ out ] HKEY_RPC *phKey
499 [ in ] HKEY_RPC hKey,
500 [ in, string ] [charset(UTF16)] uint16 *lpSubKey,
501 [ in ] uint32 samDesired,
502 [ out ] WERROR *Status,
503 [ out ] WERROR *rpc_status
508 [ in ] HKEY_RPC hKey,
509 [ in, string ] [charset(UTF16)] uint16 *lpSubKey,
510 [ in ] uint32 samDesired,
511 [ out ] WERROR *Status,
512 [ out ] WERROR *rpc_status,
513 [ out ] HKEY_RPC *phKey
521 [ in ] HKEY_RPC hKey,
522 [ in ] uint32 dwIndex,
523 [ out, string ] [charset(UTF16)] uint16 **KeyName,
524 [ out ] NTTIME *lpftLastWriteTime,
525 [ out ] WERROR *rpc_status
533 [ in ] HKEY_RPC hKey,
534 [ in, string ] [charset(UTF16)] uint16 *lpValueName,
535 [ in ] uint32 dwType,
536 [ in, size_is(cbData) ] uint8 *lpData,
537 [ in ] uint32 cbData,
538 [ out ] WERROR *rpc_status
546 [ in ] HKEY_RPC hKey,
547 [ in, string ] [charset(UTF16)] uint16 *lpValueName,
548 [ out ] WERROR *rpc_status
556 [ in ] HKEY_RPC hKey,
557 [ in, string ] [charset(UTF16)] uint16 *lpValueName,
558 [ out ] uint32 *lpValueType,
559 [ out, size_is(cbData) ] uint8 *lpData,
560 [ in ] uint32 cbData,
561 [ out ] uint32 *lpcbRequired,
562 [ out ] WERROR *rpc_status
570 [ in ] HKEY_RPC hKey,
571 [ in, string ] [charset(UTF16)] uint16 *lpSubKey,
572 [ out ] WERROR *rpc_status
580 [ in ] HKEY_RPC hKey,
581 [ in ] uint32 dwIndex,
582 [ out, string ] [charset(UTF16)] uint16 **lpValueName,
583 [ out ] uint32 *lpType,
584 [ out, size_is(*lpcbData) ] uint8 *lpData,
585 [ in, out ] uint32 *lpcbData,
586 [ out ] uint32 *TotalSize,
587 [ out ] WERROR *rpc_status
595 [ in, out ] HKEY_RPC *pKey
602 clusapi_QueryInfoKey(
603 [ in ] HKEY_RPC hKey,
604 [ out ] uint32 *lpcSubKeys,
605 [ out ] uint32 *lpcbMaxSubKeyLen,
606 [ out ] uint32 *lpcValues,
607 [ out ] uint32 *lpcbMaxValueNameLen,
608 [ out ] uint32 *lpcbMaxValueLen,
609 [ out ] uint32 *lpcbSecurityDescriptor,
610 [ out ] NTTIME *lpftLastWriteTime,
611 [ out ] WERROR *rpc_status
618 clusapi_SetKeySecurity(
619 [ in ] HKEY_RPC hKey,
620 [ in ] uint32 SecurityInformation,
621 [ in ] RPC_SECURITY_DESCRIPTOR *pRpcSecurityDescriptor,
622 [ out ] WERROR *rpc_status
629 clusapi_GetKeySecurity(
630 [ in ] HKEY_RPC hKey,
631 [ in ] uint32 SecurityInformation,
632 [ in, out ] RPC_SECURITY_DESCRIPTOR *pRpcSecurityDescriptor,
633 [ out ] WERROR *rpc_status
641 [ in, string ] [charset(UTF16)] uint16 *lpszGroupName,
642 [ out ] WERROR *Status,
643 [ out ] WERROR *rpc_status
648 [ in, string ] [charset(UTF16)] uint16 *lpszGroupName,
649 [ out ] WERROR *Status,
650 [ out ] WERROR *rpc_status,
651 [ out ] HGROUP_RPC *hGroup
659 [ in, string ] [charset(UTF16)] uint16 *lpszGroupName,
660 [ out ] WERROR *Status,
661 [ out ] WERROR *rpc_status
666 [ in, string ] [charset(UTF16)] uint16 *lpszGroupName,
667 [ out ] WERROR *Status,
668 [ out ] WERROR *rpc_status,
669 [ out ] HGROUP_RPC *hGroup
677 [ in ] HGROUP_RPC Group,
678 [ in ] boolean8 force,
679 [ out ] WERROR *rpc_status
687 [ in, out ] HGROUP_RPC *Group
693 typedef [v1_enum] enum {
694 ClusterGroupOnline = 0x00000000,
695 ClusterGroupOffline = 0x00000001,
696 ClusterGroupFailed = 0x00000002,
697 ClusterGroupPartialOnline = 0x00000003,
698 ClusterGroupPending = 0x00000004,
699 ClusterGroupStateUnknown = 0xFFFFFFFF
700 } clusapi_ClusterGroupState;
703 clusapi_GetGroupState(
704 [ in ] HGROUP_RPC hGroup,
705 [ out ] clusapi_ClusterGroupState *State,
706 [ out, string ] [charset(UTF16)] uint16 **NodeName,
707 [ out ] WERROR *rpc_status
714 clusapi_SetGroupName(
715 [ in ] HGROUP_RPC hGroup,
716 [ in, string ] [charset(UTF16)] uint16 *lpszGroupName,
717 [ out ] WERROR *rpc_status
725 [ in ] HGROUP_RPC hGroup,
726 [ out, string ] [charset(UTF16)] uint16 **pGuid,
727 [ out ] WERROR *rpc_status
735 [ in ] HNODE_RPC hNode,
736 [ out, string ] [charset(UTF16)] uint16 **pGuid,
737 [ out ] WERROR *rpc_status
745 [ in ] HGROUP_RPC hGroup,
746 [ out ] WERROR *rpc_status
753 clusapi_OfflineGroup(
754 [ in ] HGROUP_RPC hGroup,
755 [ out ] WERROR *rpc_status
763 [ in ] HGROUP_RPC hGroup,
764 [ out ] WERROR *rpc_status
771 clusapi_MoveGroupToNode(
772 [ in ] HGROUP_RPC hGroup,
773 [ in ] HNODE_RPC hNode,
774 [ out ] WERROR *rpc_status
781 clusapi_CreateGroupResourceEnum(
782 [ in ] HGROUP_RPC hGroup,
783 [ in ] uint32 dwType,
784 [ out ] ENUM_LIST **ReturnEnum,
785 [ out ] WERROR *rpc_status
792 clusapi_SetGroupNodeList(
793 [ in ] HGROUP_RPC hGroup,
794 [ in, unique, size_is(cchListSize) ] uint16 *multiSzNodeList,
795 [ in ] uint32 cchListSize,
796 [ out ] WERROR *rpc_status
803 clusapi_CreateNotify(
804 [ out ] WERROR *Status,
805 [ out ] WERROR *rpc_status
809 clusapi_CreateNotify(
810 [ out ] WERROR *Status,
811 [ out ] WERROR *rpc_status,
812 [ out ] HNOTIFY_RPC *hNotify
820 [ in, out ] HNOTIFY_RPC *Notify
827 clusapi_AddNotifyCluster(
828 [ in ] HNOTIFY_RPC hNotify,
829 [ in ] HCLUSTER_RPC hCluster,
830 [ in ] uint32 dwFilter,
831 [ in ] uint32 dwNotifyKey,
832 [ out ] WERROR *rpc_status
839 clusapi_AddNotifyNode(
840 [ in ] HNOTIFY_RPC hNotify,
841 [ in ] HNODE_RPC hNode,
842 [ in ] uint32 dwFilter,
843 [ in ] uint32 dwNotifyKey,
844 [ out ] uint32 *dwStateSequence,
845 [ out ] WERROR *rpc_status
852 clusapi_AddNotifyGroup(
853 [ in ] HNOTIFY_RPC hNotify,
854 [ in ] HGROUP_RPC hGroup,
855 [ in ] uint32 dwFilter,
856 [ in ] uint32 dwNotifyKey,
857 [ out ] uint32 *dwStateSequence,
858 [ out ] WERROR *rpc_status
865 clusapi_AddNotifyResource(
866 [ in ] HNOTIFY_RPC hNotify,
867 [ in ] HRES_RPC hResource,
868 [ in ] uint32 dwFilter,
869 [ in ] uint32 dwNotifyKey,
870 [ out ] uint32 *dwStateSequence,
871 [ out ] WERROR *rpc_status
878 clusapi_AddNotifyKey(
879 [ in ] HNOTIFY_RPC hNotify,
880 [ in ] HKEY_RPC hKey,
881 [ in ] uint32 dwNotifyKey,
882 [ in ] uint32 Filter,
883 [ in ] boolean8 WatchSubTree,
884 [ out ] WERROR *rpc_status
891 clusapi_ReAddNotifyNode(
892 [ in ] HNOTIFY_RPC hNotify,
893 [ in ] HNODE_RPC hNode,
894 [ in ] uint32 dwFilter,
895 [ in ] uint32 dwNotifyKey,
896 [ in ] uint32 StateSequence,
897 [ out ] WERROR *rpc_status
904 clusapi_ReAddNotifyGroup(
905 [ in ] HNOTIFY_RPC hNotify,
906 [ in ] HGROUP_RPC hGroup,
907 [ in ] uint32 dwFilter,
908 [ in ] uint32 dwNotifyKey,
909 [ in ] uint32 StateSequence,
910 [ out ] WERROR *rpc_status
917 clusapi_ReAddNotifyResource(
918 [ in ] HNOTIFY_RPC hNotify,
919 [ in ] HRES_RPC hResource,
920 [ in ] uint32 dwFilter,
921 [ in ] uint32 dwNotifyKey,
922 [ in ] uint32 StateSequence,
923 [ out ] WERROR *rpc_status
931 [ in ] HNOTIFY_RPC hNotify,
932 [ out ] uint32 *dwNotifyKey,
933 [ out ] uint32 *dwFilter,
934 [ out ] uint32 *dwStateSequence,
935 [ out, string ] [charset(UTF16)] uint16 **Name,
936 [ out ] WERROR *rpc_status
944 [ in, string ] [charset(UTF16)] uint16 *lpszNodeName,
945 [ out ] WERROR *Status,
946 [ out ] WERROR *rpc_status
951 [ in, string ] [charset(UTF16)] uint16 *lpszNodeName,
952 [ out ] WERROR *Status,
953 [ out ] WERROR *rpc_status,
954 [ out ] HNODE_RPC *hNode
962 [ in, out ] HNODE_RPC *Node
968 typedef [v1_enum] enum {
969 ClusterNodeUp = 0x00000000,
970 ClusterNodeDown = 0x00000001,
971 ClusterNodePaused = 0x00000002,
972 ClusterNodeJoining = 0x00000003,
973 ClusterNodeStateUnknown = 0xFFFFFFFF
974 } clusapi_ClusterNodeState;
977 clusapi_GetNodeState(
978 [ in ] HNODE_RPC hNode,
979 [ out ] clusapi_ClusterNodeState *State,
980 [ out ] WERROR *rpc_status
988 [ in ] HNODE_RPC hNode,
989 [ out ] WERROR *rpc_status
997 [ in ] HNODE_RPC hNode,
998 [ out ] WERROR *rpc_status
1006 [ in ] HNODE_RPC hNode,
1007 [ out ] WERROR *rpc_status
1014 clusapi_NodeResourceControl(
1015 [ in ] HRES_RPC hResource,
1016 [ in ] HNODE_RPC hNode,
1017 [ in ] uint32 dwControlCode,
1018 [ in, unique, size_is(nInBufferSize) ] uint8 *lpInBuffer,
1019 [ in ] uint32 nInBufferSize,
1020 [ out, size_is(nOutBufferSize),
1021 length_is (*lpBytesReturned)] uint8 *lpOutBuffer,
1022 [ in ] uint32 nOutBufferSize,
1023 [ out ] uint32 *lpBytesReturned,
1024 [ out ] uint32 *lpcbRequired,
1025 [ out ] WERROR *rpc_status
1032 clusapi_ResourceControl(
1033 [ in ] HRES_RPC hResource,
1034 [ in ] uint32 dwControlCode,
1035 [ in, unique, size_is(nInBufferSize) ] uint8 *lpInBuffer,
1036 [ in ] uint32 nInBufferSize,
1037 [ out, size_is(nOutBufferSize),
1038 length_is (*lpBytesReturned)] uint8 *lpOutBuffer,
1039 [ in ] uint32 nOutBufferSize,
1040 [ out ] uint32 *lpBytesReturned,
1041 [ out ] uint32 *lpcbRequired,
1042 [ out ] WERROR *rpc_status
1049 clusapi_NodeResourceTypeControl(
1050 [ in ] HCLUSTER_RPC hCluster,
1051 [ in, string ] [charset(UTF16)] uint16 *lpszResourceTypeName,
1052 [ in ] HNODE_RPC hNode,
1053 [ in ] uint32 dwControlCode,
1054 [ in, unique, size_is(nInBufferSize) ] uint8 *lpInBuffer,
1055 [ in ] uint32 nInBufferSize,
1056 [ out, size_is(nOutBufferSize),
1057 length_is (*lpBytesReturned)] uint8 *lpOutBuffer,
1058 [ in ] uint32 nOutBufferSize,
1059 [ out ] uint32 *lpBytesReturned,
1060 [ out ] uint32 *lpcbRequired,
1061 [ out ] WERROR *rpc_status
1068 clusapi_ResourceTypeControl(
1069 [ in ] HCLUSTER_RPC hCluster,
1070 [ in, string ] [charset(UTF16)] uint16 *lpszResourceTypeName,
1071 [ in ] uint32 dwControlCode,
1072 [ in, unique, size_is(nInBufferSize) ] uint8 *lpInBuffer,
1073 [ in ] uint32 nInBufferSize,
1074 [ out, size_is(nOutBufferSize),
1075 length_is (*lpBytesReturned)] uint8 *lpOutBuffer,
1076 [ in ] uint32 nOutBufferSize,
1077 [ out ] uint32 *lpBytesReturned,
1078 [ out ] uint32 *lpcbRequired,
1079 [ out ] WERROR *rpc_status
1086 clusapi_NodeGroupControl(
1087 [ in ] HGROUP_RPC hGroup,
1088 [ in ] HNODE_RPC hNode,
1089 [ in ] uint32 dwControlCode,
1090 [ in, unique, size_is(nInBufferSize) ] uint8 *lpInBuffer,
1091 [ in ] uint32 nInBufferSize,
1092 [ out, size_is(nOutBufferSize),
1093 length_is (*lpBytesReturned)] uint8 *lpOutBuffer,
1094 [ in ] uint32 nOutBufferSize,
1095 [ out ] uint32 *lpBytesReturned,
1096 [ out ] uint32 *lpcbRequired,
1097 [ out ] WERROR *rpc_status
1104 clusapi_GroupControl(
1105 [ in ] HGROUP_RPC hGroup,
1106 [ in ] uint32 dwControlCode,
1107 [ in, unique, size_is(nInBufferSize) ] uint8 *lpInBuffer,
1108 [ in ] uint32 nInBufferSize,
1109 [ out, size_is(nOutBufferSize),
1110 length_is (*lpBytesReturned)] uint8 *lpOutBuffer,
1111 [ in ] uint32 nOutBufferSize,
1112 [ out ] uint32 *lpBytesReturned,
1113 [ out ] uint32 *lpcbRequired,
1114 [ out ] WERROR *rpc_status
1121 clusapi_NodeNodeControl(
1122 [ in ] HNODE_RPC hNode,
1123 [ in ] HNODE_RPC hHostNode,
1124 [ in ] uint32 dwControlCode,
1125 [ in, unique, size_is(nInBufferSize) ] uint8 *lpInBuffer,
1126 [ in ] uint32 nInBufferSize,
1127 [ out, size_is(nOutBufferSize),
1128 length_is (*lpBytesReturned)] uint8 *lpOutBuffer,
1129 [ in ] uint32 nOutBufferSize,
1130 [ out ] uint32 *lpBytesReturned,
1131 [ out ] uint32 *lpcbRequired,
1132 [ out ] WERROR *rpc_status
1139 clusapi_NodeControl(
1140 [ in ] HNODE_RPC hNode,
1141 [ in ] uint32 dwControlCode,
1142 [ in, unique, size_is(nInBufferSize) ] uint8 *lpInBuffer,
1143 [ in ] uint32 nInBufferSize,
1144 [ out, size_is(nOutBufferSize),
1145 length_is (*lpBytesReturned)] uint8 *lpOutBuffer,
1146 [ in ] uint32 nOutBufferSize,
1147 [ out ] uint32 *lpBytesReturned,
1148 [ out ] uint32 *lpcbRequired,
1149 [ out ] WERROR *rpc_status
1156 Opnum80NotUsedOnWire(void);
1162 clusapi_OpenNetwork(
1163 [ in, string ] [charset(UTF16)] uint16 *lpszNetworkName,
1164 [ out ] WERROR *Status,
1165 [ out ] WERROR *rpc_status
1169 clusapi_OpenNetwork(
1170 [ in, string ] [charset(UTF16)] uint16 *lpszNetworkName,
1171 [ out ] WERROR *Status,
1172 [ out ] WERROR *rpc_status,
1173 [ out ] HNETWORK_RPC *hNetwork
1180 clusapi_CloseNetwork(
1181 [ in, out ] HNETWORK_RPC *Network
1187 typedef [v1_enum] enum {
1188 ClusterNetworkUnavailable = 0x00000000,
1189 ClusterNetworkDown = 0x00000001,
1190 ClusterNetworkPartitioned = 0x00000002,
1191 ClusterNetworkUp = 0x00000003,
1192 ClusterNetworkStateUnknown = 0xFFFFFFFF
1193 } clusapi_ClusterNetworkState;
1196 clusapi_GetNetworkState(
1197 [ in ] HNETWORK_RPC hNetwork,
1198 [ out ] clusapi_ClusterNetworkState *State,
1199 [ out ] WERROR *rpc_status
1206 clusapi_SetNetworkName(
1207 [ in ] HNETWORK_RPC hNetwork,
1208 [ in, string ] [charset(UTF16)] uint16 *lpszNetworkName,
1209 [ out ] WERROR *rpc_status
1216 clusapi_CreateNetworkEnum(
1217 [ in ] HNETWORK_RPC hNetwork,
1218 [ in ] uint32 dwType,
1219 [ out ] ENUM_LIST **ReturnEnum,
1220 [ out ] WERROR *rpc_status
1227 clusapi_GetNetworkId(
1228 [ in ] HNETWORK_RPC hNetwork,
1229 [ out, string ] [charset(UTF16)] uint16 **pGuid,
1230 [ out ] WERROR *rpc_status
1237 clusapi_SetNetworkPriorityOrder(
1238 [ in, range(0, 1000)] uint32 NetworkCount,
1239 [ in, string, size_is(NetworkCount) ] [charset(UTF16)] uint16 NetworkIdList[*],
1240 [ out ] WERROR *rpc_status
1247 clusapi_NodeNetworkControl(
1248 [ in ] HNETWORK_RPC hNetwork,
1249 [ in ] HNODE_RPC hNode,
1250 [ in ] uint32 dwControlCode,
1251 [ in, unique, size_is(nInBufferSize) ] uint8 *lpInBuffer,
1252 [ in ] uint32 nInBufferSize,
1253 [ out, size_is(nOutBufferSize),
1254 length_is (*lpBytesReturned)] uint8 *lpOutBuffer,
1255 [ in ] uint32 nOutBufferSize,
1256 [ out ] uint32 *lpBytesReturned,
1257 [ out ] uint32 *lpcbRequired,
1258 [ out ] WERROR *rpc_status
1265 clusapi_NetworkControl(
1266 [ in ] HNETWORK_RPC hNetwork,
1267 [ in ] uint32 dwControlCode,
1268 [ in, unique, size_is(nInBufferSize) ] uint8 *lpInBuffer,
1269 [ in ] uint32 nInBufferSize,
1270 [ out, size_is(nOutBufferSize),
1271 length_is (*lpBytesReturned)] uint8 *lpOutBuffer,
1272 [ in ] uint32 nOutBufferSize,
1273 [ out ] uint32 *lpBytesReturned,
1274 [ out ] uint32 *lpcbRequired,
1275 [ out ] WERROR *rpc_status
1282 clusapi_AddNotifyNetwork(
1283 [ in ] HNOTIFY_RPC hNotify,
1284 [ in ] HNETWORK_RPC hNetwork,
1285 [ in ] uint32 dwFilter,
1286 [ in ] uint32 dwNotifyKey,
1287 [ out ] uint32 *dwStateSequence,
1288 [ out ] WERROR *rpc_status
1295 clusapi_ReAddNotifyNetwork(
1296 [ in ] HNOTIFY_RPC hNotify,
1297 [ in ] HNETWORK_RPC hNetwork,
1298 [ in ] uint32 dwFilter,
1299 [ in ] uint32 dwNotifyKey,
1300 [ in ] uint32 StateSequence,
1301 [ out ] WERROR *rpc_status
1308 clusapi_OpenNetInterface(
1309 [ in, string ] [charset(UTF16)] uint16 *lpszNetInterfaceName,
1310 [ out ] WERROR *Status,
1311 [ out ] WERROR *rpc_status
1315 clusapi_OpenNetInterface(
1316 [ in, string ] [charset(UTF16)] uint16 *lpszNetInterfaceName,
1317 [ out ] WERROR *Status,
1318 [ out ] WERROR *rpc_status,
1319 [ out ] HNETINTERFACE_RPC *hNetInterface
1326 clusapi_CloseNetInterface(
1327 [ in, out ] HNETINTERFACE_RPC *NetInterface
1333 typedef [v1_enum] enum {
1334 ClusterNetInterfaceFailed = 0x00000000,
1335 ClusterNetInterfaceUnreachable = 0x00000001,
1336 ClusterNetInterfaceUnavailable = 0x00000002,
1337 ClusterNetInterfaceUp = 0x00000003,
1338 ClusterNetInterfaceStateUnknown = 0xFFFFFFFF
1339 } clusapi_ClusterNetInterfaceState;
1342 clusapi_GetNetInterfaceState(
1343 [ in ] HNETINTERFACE_RPC hNetInterface,
1344 [ out ] clusapi_ClusterNetInterfaceState *State,
1345 [ out ] WERROR *rpc_status
1352 clusapi_GetNetInterface(
1353 [ in, string ] [charset(UTF16)] uint16 *lpszNodeName,
1354 [ in, string ] [charset(UTF16)] uint16 *lpszNetworkName,
1355 [ out, string ] [charset(UTF16)] uint16 **lppszInterfaceName,
1356 [ out ] WERROR *rpc_status
1363 clusapi_GetNetInterfaceId(
1364 [ in ] HNETINTERFACE_RPC hNetInterface,
1365 [ out, string ] [charset(UTF16)] uint16 **pGuid,
1366 [ out ] WERROR *rpc_status
1373 clusapi_NodeNetInterfaceControl(
1374 [ in ] HNETINTERFACE_RPC hNetInterface,
1375 [ in ] HNODE_RPC hNode,
1376 [ in ] uint32 dwControlCode,
1377 [ in, unique, size_is(nInBufferSize) ] uint8 *lpInBuffer,
1378 [ in ] uint32 nInBufferSize,
1379 [ out, size_is(nOutBufferSize),
1380 length_is (*lpBytesReturned)] uint8 *lpOutBuffer,
1381 [ in ] uint32 nOutBufferSize,
1382 [ out ] uint32 *lpBytesReturned,
1383 [ out ] uint32 *lpcbRequired,
1384 [ out ] WERROR *rpc_status
1391 clusapi_NetInterfaceControl(
1392 [ in ] HNETINTERFACE_RPC hNetInterface,
1393 [ in ] uint32 dwControlCode,
1394 [ in, unique, size_is(nInBufferSize) ] uint8 *lpInBuffer,
1395 [ in ] uint32 nInBufferSize,
1396 [ out, size_is(nOutBufferSize),
1397 length_is (*lpBytesReturned)] uint8 *lpOutBuffer,
1398 [ in ] uint32 nOutBufferSize,
1399 [ out ] uint32 *lpBytesReturned,
1400 [ out ] uint32 *lpcbRequired,
1401 [ out ] WERROR *rpc_status
1408 clusapi_AddNotifyNetInterface(
1409 [ in ] HNOTIFY_RPC hNotify,
1410 [ in ] HNETINTERFACE_RPC hNetInterface,
1411 [ in ] uint32 dwFilter,
1412 [ in ] uint32 dwNotifyKey,
1413 [ out ] uint32 *dwStateSequence,
1414 [ out ] WERROR *rpc_status
1421 clusapi_ReAddNotifyNetInterface(
1422 [ in ] HNOTIFY_RPC hNotify,
1423 [ in ] HNETINTERFACE_RPC hNetInterface,
1424 [ in ] uint32 dwFilter,
1425 [ in ] uint32 dwNotifyKey,
1426 [ in ] uint32 StateSequence,
1427 [ out ] WERROR *rpc_status
1434 clusapi_CreateNodeEnum(
1435 [ in ] HNODE_RPC hNode,
1436 [ in ] uint32 dwType,
1437 [ out ] ENUM_LIST **ReturnEnum,
1438 [ out ] WERROR *rpc_status
1445 clusapi_GetClusterVersion2(
1446 [ out ] uint16 *lpwMajorVersion,
1447 [ out ] uint16 *lpwMinorVersion,
1448 [ out ] uint16 *lpwBuildNumber,
1449 [ out, string ] [charset(UTF16)] uint16 **lpszVendorId,
1450 [ out, string ] [charset(UTF16)] uint16 **lpszCSDVersion,
1451 [ out ] CLUSTER_OPERATIONAL_VERSION_INFO **ppClusterOpVerInfo,
1452 [ out ] WERROR *rpc_status
1459 clusapi_CreateResTypeEnum(
1460 [ in, string ] [charset(UTF16)] uint16 *lpszTypeName,
1461 [ in ] uint32 dwType,
1462 [ out ] ENUM_LIST **ReturnEnum,
1463 [ out ] WERROR *rpc_status
1470 clusapi_BackupClusterDatabase(
1471 [ in, string ] [charset(UTF16)] uint16 *lpszPathName,
1472 [ out ] WERROR *rpc_status
1479 clusapi_NodeClusterControl(
1480 [ in ] HCLUSTER_RPC hCluster,
1481 [ in ] HNODE_RPC hHostNode,
1482 [ in ] uint32 dwControlCode,
1483 [ in, unique, size_is(nInBufferSize) ] uint8 *lpInBuffer,
1484 [ in ] uint32 nInBufferSize,
1485 [ out, size_is(nOutBufferSize),
1486 length_is (*lpBytesReturned)] uint8 *lpOutBuffer,
1487 [ in ] uint32 nOutBufferSize,
1488 [ out ] uint32 *lpBytesReturned,
1489 [ out ] uint32 *lpcbRequired,
1490 [ out ] WERROR *rpc_status
1497 clusapi_ClusterControl(
1498 [ in ] HCLUSTER_RPC hCluster,
1499 [ in ] uint32 dwControlCode,
1500 [ in, unique, size_is(nInBufferSize) ] uint8 *lpInBuffer,
1501 [ in ] uint32 nInBufferSize,
1502 [ out, size_is(nOutBufferSize),
1503 length_is (*lpBytesReturned)] uint8 *lpOutBuffer,
1504 [ in ] uint32 nOutBufferSize,
1505 [ out ] uint32 *lpBytesReturned,
1506 [ out ] uint32 *lpcbRequired,
1507 [ out ] WERROR *rpc_status
1514 clusapi_UnblockGetNotifyCall(
1515 [ in ] HNOTIFY_RPC hNotify
1522 clusapi_SetServiceAccountPassword(
1523 [ in, string ] [charset(UTF16)] uint16 *lpszNewPassword,
1524 [ in ] IDL_CLUSTER_SET_PASSWORD_FLAGS dwFlags,
1525 [ out, size_is(ReturnStatusBufferSize), length_is(*SizeReturned) ]
1526 IDL_CLUSTER_SET_PASSWORD_STATUS ReturnStatusBufferPtr[*],
1527 [ in, range(0, (64 * 1024)) ] uint32 ReturnStatusBufferSize,
1528 [ out ] uint32 *SizeReturned,
1529 [ out ] uint32 *ExpectedBufferSize
1536 clusapi_SetResourceDependencyExpression(
1537 [ in ] HRES_RPC hResource,
1538 [ in, string, unique ] [charset(UTF16)] uint16 *lpszDependencyExpression,
1539 [ out ] WERROR *rpc_status
1546 clusapi_GetResourceDependencyExpression(
1547 [ in ] HRES_RPC hResource,
1548 [ out, string ] [charset(UTF16)] uint16 **lpszDependencyExpression,
1549 [ out ] WERROR *rpc_status
1556 Opnum111NotUsedOnWire(void);
1562 clusapi_GetResourceNetworkName(
1563 [ in ] HRES_RPC hResource,
1564 [ out, string ] [charset(UTF16)] uint16 **lpszName,
1565 [ out ] WERROR *rpc_status
1572 clusapi_ExecuteBatch(
1573 [ in ] HKEY_RPC hKey,
1574 [ in ] uint32 cbData,
1575 [ in, size_is(cbData)] uint8 *lpData,
1576 [ out ] int *pdwFailedCommand,
1577 [ out ] WERROR *rpc_status
1584 clusapi_CreateBatchPort(
1585 [ in ] HKEY_RPC hKey,
1586 [ out ] HBATCH_PORT_RPC *phBatchPort,
1587 [ out ] WERROR *rpc_status
1594 clusapi_GetBatchNotification(
1595 [ in ] HBATCH_PORT_RPC hBatchNotify,
1596 [ out ] uint32 *cbData,
1597 [ out, size_is(,*cbData) ] uint8 ** lpData
1604 clusapi_CloseBatchPort(
1605 [ in, out ] HBATCH_PORT_RPC *phBatchPort
1611 typedef [bitmap32bit] bitmap {
1612 CLUSAPI_READ_ACCESS = 0x00000001,
1613 CLUSAPI_CHANGE_ACCESS = 0x00000002,
1614 CLUSAPI_GENERIC_READ = 0x80000000,
1615 CLUSAPI_GENERIC_WRITE = 0x40000000,
1616 CLUSAPI_GENERIC_EXECUTE = 0x20000000,
1617 CLUSAPI_GENERIC_ALL = 0x10000000,
1618 CLUSAPI_MAXIMUM_ALLOWED = 0x02000000
1619 } clusapi_DesiredAccessMask;
1623 clusapi_OpenClusterEx(
1624 [ in ] clusapi_DesiredAccessMask dwDesiredAccess,
1625 [ out ] uint32 *lpdwGrantedAccess,
1626 [ out ] WERROR *Status
1630 clusapi_OpenClusterEx(
1631 [ in ] clusapi_DesiredAccessMask dwDesiredAccess,
1632 [ out ] uint32 *lpdwGrantedAccess,
1633 [ out ] WERROR *Status,
1634 [ out ] HCLUSTER_RPC *hCluster
1643 [ in, string ] [charset(UTF16)] uint16 *lpszNodeName,
1644 [ in ] clusapi_DesiredAccessMask dwDesiredAccess,
1645 [ out ] uint32 *lpdwGrantedAccess,
1646 [ out ] WERROR *Status,
1647 [ out ] WERROR *rpc_status
1652 [ in, string ] [charset(UTF16)] uint16 *lpszNodeName,
1653 [ in ] clusapi_DesiredAccessMask dwDesiredAccess,
1654 [ out ] uint32 *lpdwGrantedAccess,
1655 [ out ] WERROR *Status,
1656 [ out ] WERROR *rpc_status,
1657 [ out ] HNODE_RPC *hNode
1664 clusapi_OpenGroupEx(
1665 [ in, string ] [charset(UTF16)] uint16 *lpszGroupName,
1666 [ in ] clusapi_DesiredAccessMask dwDesiredAccess,
1667 [ out ] uint32 *lpdwGrantedAccess,
1668 [ out ] WERROR *Status,
1669 [ out ] WERROR *rpc_status
1673 clusapi_OpenGroupEx(
1674 [ in, string ] [charset(UTF16)] uint16 *lpszGroupName,
1675 [ in ] clusapi_DesiredAccessMask dwDesiredAccess,
1676 [ out ] uint32 *lpdwGrantedAccess,
1677 [ out ] WERROR *Status,
1678 [ out ] WERROR *rpc_status,
1679 [ out ] HGROUP_RPC *hGroup
1686 clusapi_OpenResourceEx(
1687 [ in, string ] [charset(UTF16)] uint16 *lpszResourceName,
1688 [ in ] clusapi_DesiredAccessMask dwDesiredAccess,
1689 [ out ] uint32 *lpdwGrantedAccess,
1690 [ out ] WERROR *Status,
1691 [ out ] WERROR *rpc_status
1695 clusapi_OpenResourceEx(
1696 [ in, string ] [charset(UTF16)] uint16 *lpszResourceName,
1697 [ in ] clusapi_DesiredAccessMask dwDesiredAccess,
1698 [ out ] uint32 *lpdwGrantedAccess,
1699 [ out ] WERROR *Status,
1700 [ out ] WERROR *rpc_status,
1701 [ out ] HRES_RPC *hResource
1708 clusapi_OpenNetworkEx(
1709 [ in, string ] [charset(UTF16)] uint16 *lpszNetworkName,
1710 [ in ] clusapi_DesiredAccessMask dwDesiredAccess,
1711 [ out ] uint32 *lpdwGrantedAccess,
1712 [ out ] WERROR *Status,
1713 [ out ] WERROR *rpc_status
1717 clusapi_OpenNetworkEx(
1718 [ in, string ] [charset(UTF16)] uint16 *lpszNetworkName,
1719 [ in ] clusapi_DesiredAccessMask dwDesiredAccess,
1720 [ out ] uint32 *lpdwGrantedAccess,
1721 [ out ] WERROR *Status,
1722 [ out ] WERROR *rpc_status,
1723 [ out ] HNETWORK_RPC *hNetwork
1730 clusapi_OpenNetInterfaceEx(
1731 [ in, string ] [charset(UTF16)] uint16 *lpszNetInterfaceName,
1732 [ in ] clusapi_DesiredAccessMask dwDesiredAccess,
1733 [ out ] uint32 *lpdwGrantedAccess,
1734 [ out ] WERROR *Status,
1735 [ out ] WERROR *rpc_status
1739 clusapi_OpenNetInterfaceEx(
1740 [ in, string ] [charset(UTF16)] uint16 *lpszNetInterfaceName,
1741 [ in ] clusapi_DesiredAccessMask dwDesiredAccess,
1742 [ out ] uint32 *lpdwGrantedAccess,
1743 [ out ] WERROR *Status,
1744 [ out ] WERROR *rpc_status,
1745 [ out ] HNETINTERFACE_RPC *hNetInterface
1752 clusapi_ChangeCsvState(
1753 [ in ] HRES_RPC hResource,
1754 [ in ] uint32 dwState,
1755 [ out ] WERROR *rpc_status
1762 clusapi_CreateNodeEnumEx(
1763 [in] HNODE_RPC hNode,
1765 [in] uint32 dwOptions,
1766 [out] ENUM_LIST **ReturnIdEnum,
1767 [out] ENUM_LIST **ReturnNameEnum,
1768 [out] WERROR* rpc_status
1775 clusapi_CreateEnumEx(
1776 [in] HCLUSTER_RPC hCluster,
1778 [in] uint32 dwOptions,
1779 [out] ENUM_LIST **ReturnIdEnum,
1780 [out] ENUM_LIST **ReturnNameEnum,
1781 [out] WERROR* rpc_status
1788 clusapi_PauseNodeEx(
1789 [ in ] HNODE_RPC hNode,
1790 [ in ] boolean8 bDrainNode,
1791 [ in ] uint32 dwPauseFlags,
1792 [ out ] WERROR *rpc_status
1799 clusapi_PauseNodeWithDrainTarget(
1800 [ in ] HNODE_RPC hNode,
1801 [ in ] uint32 dwPauseFlags,
1802 [ in ] HNODE_RPC hNodeDrainTarget,
1803 [ out ] WERROR *rpc_status
1810 clusapi_ResumeNodeEx(
1811 [ in ] HNODE_RPC hNode,
1812 [ in ] uint32 dwResumeFailbackType,
1813 [ in ] uint32 dwResumeFlagsReserved,
1814 [ out ] WERROR *rpc_status
1821 clusapi_CreateGroupEx(
1822 [ in, string ] [charset(UTF16)] uint16 *lpszGroupName,
1823 [ in, unique ] CLUSTER_CREATE_GROUP_INFO_RPC *pGroupInfo,
1824 [ out ] WERROR *Status,
1825 [ out ] WERROR *rpc_status
1829 clusapi_CreateGroupEx(
1830 [ in, string ] [charset(UTF16)] uint16 *lpszGroupName,
1831 [ in, unique ] CLUSTER_CREATE_GROUP_INFO_RPC *pGroupInfo,
1832 [ out ] WERROR *Status,
1833 [ out ] WERROR *rpc_status,
1834 [ out ] HGROUP_RPC *hGroup
1841 clusapi_OnlineGroupEx(
1842 [ in ] HGROUP_RPC hGroup,
1843 [ in ] uint32 dwOnlineFlags,
1844 [ in, size_is(cbInBufferSize) ] uint8* lpInBuffer,
1845 [ in ] uint32 cbInBufferSize,
1846 [ out ] WERROR *rpc_status
1853 clusapi_OfflineGroupEx(
1854 [ in ] HGROUP_RPC hGroup,
1855 [ in ] uint32 dwOfflineFlags,
1856 [ in, size_is(cbInBufferSize) ] uint8* lpInBuffer,
1857 [ in ] uint32 cbInBufferSize,
1858 [ out ] WERROR *rpc_status
1865 clusapi_MoveGroupEx(
1866 [ in ] HGROUP_RPC hGroup,
1867 [ in ] uint32 dwMoveFlags,
1868 [ in, size_is(cbInBufferSize) ] uint8* lpInBuffer,
1869 [ in ] uint32 cbInBufferSize,
1870 [ out ] WERROR *rpc_status
1877 clusapi_MoveGroupToNodeEx(
1878 [ in ] HGROUP_RPC hGroup,
1879 [ in ] HNODE_RPC hNode,
1880 [ in ] uint32 dwMoveFlags,
1881 [ in, size_is(cbInBufferSize) ] uint8* lpInBuffer,
1882 [ in ] uint32 cbInBufferSize,
1883 [ out ] WERROR *rpc_status
1890 clusapi_CancelClusterGroupOperation(
1891 [ in ] HGROUP_RPC hGroup,
1892 [ in ] uint32 dwCancelFlags,
1893 [ out ] WERROR *rpc_status
1900 clusapi_OnlineResourceEx(
1901 [ in ] HRES_RPC hResource,
1902 [ in ] uint32 dwOnlineFlags,
1903 [ in, size_is(cbInBufferSize) ] uint8* lpInBuffer,
1904 [ in ] uint32 cbInBufferSize,
1905 [ out ] WERROR *rpc_status
1912 clusapi_OfflineResourceEx(
1913 [ in ] HRES_RPC hResource,
1914 [ in ] uint32 dwOfflineFlags,
1915 [ in, size_is(cbInBufferSize) ] uint8* lpInBuffer,
1916 [ in ] uint32 cbInBufferSize,
1917 [ out ] WERROR *rpc_status
1920 #define HGENERIC_RPC policy_handle
1922 typedef [context_handle] void *HGENERIC_RPC;
1926 uint32 dwObjectType; // really of type CLUSTER_OBJECT_TYPE_RPC
1928 } NOTIFY_FILTER_AND_TYPE_RPC;
1931 NOTIFY_FILTER_AND_TYPE_RPC FilterAndType;
1932 [ size_is(dwBufferSize ) ] uint8* buffer;
1933 uint32 dwBufferSize;
1934 [string] [charset(UTF16)] uint16 *ObjectId;
1935 [string] [charset(UTF16)] uint16 *ParentId;
1936 [string] [charset(UTF16)] uint16 *Name;
1937 [string] [charset(UTF16)] uint16 *Type;
1938 } NOTIFICATION_DATA_RPC;
1941 uint32 *dwNotifyKey;
1942 NOTIFICATION_DATA_RPC NotificationData;
1949 // Notify interface V2 functions
1953 clusapi_CreateNotifyV2(
1954 [ out ] WERROR *rpc_error,
1955 [ out ] WERROR *rpc_status
1959 clusapi_CreateNotifyV2(
1960 [ out ] WERROR *rpc_error,
1961 [ out ] WERROR *rpc_status,
1962 [ out ] HNOTIFY_RPC *hNotify
1970 clusapi_AddNotifyV2(
1971 [ in ] HNOTIFY_RPC hNotify,
1972 [ in ] HGENERIC_RPC hObject,
1973 [ in ] NOTIFY_FILTER_AND_TYPE_RPC filter,
1974 [ in ] uint32 dwNotifyKey,
1975 [ in ] uint32 dwVersion,
1976 [ in ] boolean8 isTargetedAtObject,
1977 [ out ] WERROR *rpc_status
1984 clusapi_GetNotifyV2(
1985 [ in ] HNOTIFY_RPC hNotify,
1986 [ out, size_is(,*dwNumNotifications) ] NOTIFICATION_RPC **Notifications,
1987 [ out ] uint32 *dwNumNotifications
1994 clusapi_QueryAllValues(
1995 [ in ] HKEY_RPC hKey,
1996 [ out ] uint32 *pcbData,
1997 [ out, size_is(1, *pcbData) ] uint8 ** ppData,
1998 [ out ] WERROR *rpc_status
2003 uint8 DiskIdBlob[16];
2010 clusapi_StmFindDisk(
2011 [ in ] HCLUSTER_RPC hCluster,
2012 [ in ] uint32 dwFlags,
2013 [ in, out, unique ] CLUSTER_DISKID *pDiskId,
2014 [ in, size_is(uniqueIdSize), unique ] uint8 *pUniqueId,
2015 [ in ] uint32 uniqueIdSize,
2016 [ out, ref, string ] [charset(UTF16)] uint16 **ppszDeviceName,
2017 [ out ] WERROR *rpc_status
2021 [string] [charset(UTF16)] uint16 *pszNodeName;
2024 [unique, size_is(ResultSize)] uint8 *pResultData;
2025 } CLUSTER_MRR_NODE_RESPONSE;
2029 [size_is(NodeCount)] CLUSTER_MRR_NODE_RESPONSE *pNodes;
2030 } CLUSTER_MRR_RESPONSE;
2037 [ in ] HCLUSTER_RPC hCluster,
2038 [ in ] boolean8 fExcludeSelf,
2039 [ in ] hyper nodeSet,
2040 [ in ] uint32 dwTimeout,
2041 [ in ] uint32 dwComponent,
2042 [ in ] uint32 dwControlCode,
2043 [ in ] uint32 inSize,
2044 [ in, unique, size_is(inSize) ] uint8 *pInData,
2045 [ out, ref, size_is(1, 1) ] CLUSTER_MRR_RESPONSE **ppInfo,
2046 [ out ] WERROR *rpc_status
2053 clusapi_CreateGroupEnum(
2054 [ in ] HCLUSTER_RPC hCluster,
2055 [ in, unique, size_is(cbProperties)] uint8* pProperties,
2056 [ in ] uint32 cbProperties,
2057 [ in, unique, size_is(cbRoProperties)] uint8* pRoProperties,
2058 [ in ] uint32 cbRoProperties,
2059 [ out ] GROUP_ENUM_LIST **ppResultList,
2060 [ out ] WERROR *rpc_status
2067 clusapi_CreateResourceEnum(
2068 [ in ] HCLUSTER_RPC hCluster,
2069 [ in, unique, size_is(cbProperties)] uint8* pProperties,
2070 [ in ] uint32 cbProperties,
2071 [ in, unique, size_is(cbRoProperties)] uint8* pRoProperties,
2072 [ in ] uint32 cbRoProperties,
2073 [ out ] RESOURCE_ENUM_LIST **ppResultList,
2074 [ out ] WERROR *rpc_status
2081 clusapi_ExecuteReadBatch(
2082 [ in ] HKEY_RPC hKey,
2083 [ in ] uint32 cbInData,
2084 [ in, size_is(cbInData)] uint8 *lpInData,
2085 [ out ] uint32 *cbOutData,
2086 [ out, size_is(,*cbOutData) ] uint8 ** lpOutData,
2087 [ out ] WERROR *rpc_status
2094 clusapi_RestartResource(
2095 [ in ] HRES_RPC hResource,
2096 [ in ] uint32 dwFlags,
2097 [ out ] WERROR *rpc_status
2103 [string] [charset(UTF16)] uint16 *Name;
2104 } NOTIFICATION_DATA_ASYNC_RPC;
2110 clusapi_GetNotifyAsync(
2111 [ in ] HNOTIFY_RPC hNotify,
2112 [ out, size_is(,*dwNumNotifications) ] NOTIFICATION_DATA_ASYNC_RPC **Notifications,
2113 [ out ] uint32 *dwNumNotifications
2117 DiskIdSignature = 0x00000001,
2118 DiskIdGuid = 0x00000002,
2119 DiskIdUnKnown = 0x00001388
2120 } CLUSDSK_DISKID_ENUM;
2124 CLUSDSK_DISKID_ENUM DiskIdType;
2125 [switch_is(DiskIdType)] union {
2126 [case(DiskIdSignature)] uint32 DiskSignature;
2127 [case(DiskIdGuid)] GUID DiskGuid;
2132 CLUSPROP_TYPE_ENDMARK = 0x0000,
2133 CLUSPROP_TYPE_LIST_VALUE = 0x0001,
2134 CLUSPROP_TYPE_RESCLASS = 0x0002,
2135 CLUSPROP_TYPE_NAME = 0x0004,
2136 CLUSPROP_TYPE_SIGNATURE = 0x0005,
2137 CLUSPROP_TYPE_SCSIADDRESS = 0x0006,
2138 CLUSPROP_TYPE_DISK_NUMBER = 0x0007,
2139 CLUSPROP_TYPE_PARTITION_INFO = 0x0008,
2140 CLUSPROP_TYPE_DISK_SERIALNUMBER = 0x000a,
2141 CLUSPROP_TYPE_DISK_GUID = 0x000b,
2142 CLUSPROP_TYPE_DISK_SIZE = 0x000c,
2143 CLUSPROP_TYPE_PARTITION_INFO_EX = 0x000d
2144 } CLUSTER_PROPERTY_TYPE;
2147 CLUSPROP_FORMAT_UNKNOWN = 0x0000,
2148 CLUSPROP_FORMAT_BINARY = 0x0001,
2149 CLUSPROP_FORMAT_DWORD = 0x0002,
2150 CLUSPROP_FORMAT_SZ = 0x0003,
2151 CLUSPROP_FORMAT_EXPAND_SZ = 0x0004,
2152 CLUSPROP_FORMAT_MULTI_SZ = 0x0005,
2153 CLUSPROP_FORMAT_ULARGE_INTEGER = 0x0006,
2154 CLUSPROP_FORMAT_LONG = 0x0007,
2155 CLUSPROP_FORMAT_EXPANDED_SZ = 0x0008,
2156 CLUSPROP_FORMAT_SECURITY_DESCRIPTOR = 0x0009,
2157 CLUSPROP_FORMAT_LARGE_INTEGER = 0x000a,
2158 CLUSPROP_FORMAT_WORD = 0x000b,
2159 CLUSPROP_FORMAT_FILETIME = 0x000c
2160 } CLUSTER_PROPERTY_FORMAT;
2163 CLUSPROP_SYNTAX_ENDMARK = 0x00000000,
2164 CLUSPROP_SYNTAX_NAME = 0x00040003,
2165 CLUSPROP_SYNTAX_RESCLASS = 0x00020002,
2166 CLUSPROP_SYNTAX_LIST_VALUE_SZ = 0x00010003,
2167 CLUSPROP_SYNTAX_LIST_VALUE_EXPAND_SZ = 0x00010004,
2168 CLUSPROP_SYNTAX_LIST_VALUE_DWORD = 0x00010002,
2169 CLUSPROP_SYNTAX_LIST_VALUE_BINARY = 0x00010001,
2170 CLUSPROP_SYNTAX_LIST_VALUE_MULTI_SZ = 0x00010005,
2171 CLUSPROP_SYNTAX_LIST_VALUE_LONG = 0x00010007,
2172 CLUSPROP_SYNTAX_LIST_VALUE_EXPANDED_SZ = 0x00010008,
2173 CLUSPROP_SYNTAX_LIST_VALUE_SECURITY_DESCRIPTOR = 0x00010009,
2174 CLUSPROP_SYNTAX_LIST_VALUE_LARGE_INTEGER = 0x0001000a,
2175 CLUSPROP_SYNTAX_LIST_VALUE_ULARGE_INTEGER = 0x00010006,
2176 CLUSPROP_SYNTAX_LIST_VALUE_WORD = 0x0001000b,
2177 CLUSPROP_SYNTAX_LIST_VALUE_FILETIME = 0x0001000c,
2178 CLUSPROP_SYNTAX_DISK_SIGNATURE = 0x00050002,
2179 CLUSPROP_SYNTAX_SCSI_ADDRESS = 0x00060002,
2180 CLUSPROP_SYNTAX_DISK_NUMBER = 0x00070002,
2181 CLUSPROP_SYNTAX_PARTITION_INFO = 0x00080001,
2182 CLUSPROP_SYNTAX_DISK_SERIALNUMBER = 0x000a0003,
2183 CLUSPROP_SYNTAX_DISK_GUID = 0x000b0003,
2184 CLUSPROP_SYNTAX_DISK_SIZE = 0x000c0006,
2185 CLUSPROP_SYNTAX_PARTITION_INFO_EX = 0x000d0001
2186 } CLUSTER_PROPERTY_SYNTAX;
2189 CLUS_CHAR_UNKNOWN = 0x00000000,
2190 CLUS_CHAR_QUORUM = 0x00000001,
2191 CLUS_CHAR_DELETE_REQUIRES_ALL_NODES = 0x00000002,
2192 CLUS_CHAR_LOCAL_QUORUM = 0x00000004,
2193 CLUS_CHAR_BROADCAST_DELETE = 0x00000020,
2194 CLUS_CHAR_SINGLE_CLUSTER_INSTANCE = 0x00000040,
2195 CLUS_CHAR_SINGLE_GROUP_INSTANCE = 0x00000080,
2196 CLUS_CHAR_COEXIST_IN_SHARED_VOLUME_GROUP = 0x00000100,
2197 CLUS_CHAR_RESERVED1 = 0x00000200,
2198 CLUS_CHAR_MONITOR_DETACH = 0x00000400,
2199 CLUS_CHAR_RESERVED2 = 0x00000800,
2200 CLUS_CHAR_RESERVED3 = 0x00001000,
2201 CLUS_CHAR_RESERVED4 = 0x00002000
2202 } CLUS_CHARACTERISTICS;
2205 CLUS_FLAG_CORE = 0x00000001
2209 MaintenanceModeTypeDisableIsAliveCheck = 1,
2210 MaintenanceModeTypeOfflineResource = 2,
2211 MaintenanceModeTypeUnclusterResource = 3
2212 } MAINTENANCE_MODE_TYPE;
2215 CLUSTER_CHANGE_NODE_STATE = 0x00000001,
2216 CLUSTER_CHANGE_NODE_DELETED = 0x00000002,
2217 CLUSTER_CHANGE_NODE_ADDED = 0x00000004,
2218 CLUSTER_CHANGE_NODE_PROPERTY = 0x00000008,
2219 CLUSTER_CHANGE_REGISTRY_NAME = 0x00000010,
2220 CLUSTER_CHANGE_REGISTRY_ATTRIBUTES = 0x00000020,
2221 CLUSTER_CHANGE_REGISTRY_VALUE = 0x00000040,
2222 CLUSTER_CHANGE_REGISTRY_SUBTREE = 0x00000080,
2223 CLUSTER_CHANGE_RESOURCE_STATE = 0x00000100,
2224 CLUSTER_CHANGE_RESOURCE_DELETED = 0x00000200,
2225 CLUSTER_CHANGE_RESOURCE_ADDED = 0x00000400,
2226 CLUSTER_CHANGE_RESOURCE_PROPERTY = 0x00000800,
2227 CLUSTER_CHANGE_GROUP_STATE = 0x00001000,
2228 CLUSTER_CHANGE_GROUP_DELETED = 0x00002000,
2229 CLUSTER_CHANGE_GROUP_ADDED = 0x00004000,
2230 CLUSTER_CHANGE_GROUP_PROPERTY = 0x00008000,
2231 CLUSTER_CHANGE_RESOURCE_TYPE_DELETED = 0x00010000,
2232 CLUSTER_CHANGE_RESOURCE_TYPE_ADDED = 0x00020000,
2233 CLUSTER_CHANGE_RESOURCE_TYPE_PROPERTY = 0x00040000,
2234 CLUSTER_CHANGE_CLUSTER_RECONNECT = 0x00080000,
2235 CLUSTER_CHANGE_NETWORK_STATE = 0x00100000,
2236 CLUSTER_CHANGE_NETWORK_DELETED = 0x00200000,
2237 CLUSTER_CHANGE_NETWORK_ADDED = 0x00400000,
2238 CLUSTER_CHANGE_NETWORK_PROPERTY = 0x00800000,
2239 CLUSTER_CHANGE_NETINTERFACE_STATE = 0x01000000,
2240 CLUSTER_CHANGE_NETINTERFACE_DELETED = 0x02000000,
2241 CLUSTER_CHANGE_NETINTERFACE_ADDED = 0x04000000,
2242 CLUSTER_CHANGE_NETINTERFACE_PROPERTY = 0x08000000,
2243 CLUSTER_CHANGE_QUORUM_STATE = 0x10000000,
2244 CLUSTER_CHANGE_CLUSTER_STATE = 0x20000000,
2245 CLUSTER_CHANGE_CLUSTER_PROPERTY = 0x40000000,
2246 CLUSTER_CHANGE_HANDLE_CLOSE = 0x80000000
2250 CLUSREG_SET_VALUE = 1,
2251 CLUSREG_CREATE_KEY = 2,
2252 CLUSREG_DELETE_KEY = 3,
2253 CLUSREG_DELETE_VALUE = 4,
2254 CLUSREG_VALUE_DELETED = 6,
2255 CLUSREG_READ_KEY = 7,
2256 CLUSREG_READ_VALUE = 8,
2257 CLUSREG_READ_ERROR = 9
2258 } CLUSTER_REG_BATCH_COMMAND;
2261 IDL_CLUSTER_SET_PASSWORD_IGNORE_DOWN_NODES = 1
2262 } IDL_CLUSTER_SET_PASSWORD_FLAGS;
2265 CLUSTER_QUORUM_MAINTAINED = 0,
2266 CLUSTER_QUORUM_LOST = 1
2267 } CLUSTER_QUORUM_VALUE;
2270 CLUSTER_OBJECT_TYPE_CLUSTER = 0x00000001,
2271 CLUSTER_OBJECT_TYPE_GROUP = 0x00000002,
2272 CLUSTER_OBJECT_TYPE_RESOURCE = 0x00000003,
2273 CLUSTER_OBJECT_TYPE_RESOURCE_TYPE = 0x00000004,
2274 CLUSTER_OBJECT_TYPE_NETWORK_INTERFACE = 0x00000005,
2275 CLUSTER_OBJECT_TYPE_NETWORK = 0x00000006,
2276 CLUSTER_OBJECT_TYPE_NODE = 0x00000007,
2277 CLUSTER_OBJECT_TYPE_REGISTRY = 0x00000008,
2278 CLUSTER_OBJECT_TYPE_QUORUM = 0x00000009,
2279 CLUSTER_OBJECT_TYPE_SHARED_VOLUME = 0x0000000a
2280 } CLUSTER_OBJECT_TYPE;
2283 CLUSTER_CHANGE_CLUSTER_RECONNECT_V2 = 0x00000001,
2284 CLUSTER_CHANGE_CLUSTER_STATE_V2 = 0x00000002,
2285 CLUSTER_CHANGE_CLUSTER_GROUP_ADDED_V2 = 0x00000004,
2286 CLUSTER_CHANGE_CLUSTER_HANDLE_CLOSE_V2 = 0x00000008,
2287 CLUSTER_CHANGE_CLUSTER_NETWORK_ADDED_V2 = 0x00000010,
2288 CLUSTER_CHANGE_CLUSTER_NODE_ADDED_V2 = 0x00000020,
2289 CLUSTER_CHANGE_CLUSTER_RESOURCE_TYPE_ADDED_V2 = 0x00000040,
2290 CLUSTER_CHANGE_CLUSTER_COMMON_PROPERTY_V2 = 0x00000080,
2291 CLUSTER_CHANGE_CLUSTER_PRIVATE_PROPERTY_V2 = 0x00000100,
2292 CLUSTER_CHANGE_CLUSTER_LOST_NOTIFICATIONS_V2 = 0x00000200,
2293 CLUSTER_CHANGE_CLUSTER_RENAME_V2 = 0x00000400
2294 } CLUSTER_CHANGE_CLUSTER_V2;
2297 CLUSTER_CHANGE_GROUP_DELETED_V2 = 0x00000001,
2298 CLUSTER_CHANGE_GROUP_COMMON_PROPERTY_V2 = 0x00000002,
2299 CLUSTER_CHANGE_GROUP_PRIVATE_PROPERTY_V2 = 0x00000004,
2300 CLUSTER_CHANGE_GROUP_STATE_V2 = 0x00000008,
2301 CLUSTER_CHANGE_GROUP_OWNER_NODE_V2 = 0x00000010,
2302 CLUSTER_CHANGE_GROUP_PREFERRED_OWNERS_V2 = 0x00000020,
2303 CLUSTER_CHANGE_GROUP_RESOURCE_ADDED_V2 = 0x00000040,
2304 CLUSTER_CHANGE_GROUP_RESOURCE_GAINED_V2 = 0x00000080,
2305 CLUSTER_CHANGE_GROUP_RESOURCE_LOST_V2 = 0x00000100,
2306 CLUSTER_CHANGE_GROUP_HANDLE_CLOSE_V2 = 0x00000200
2307 } CLUSTER_CHANGE_GROUP_V2;
2310 CLUSTER_CHANGE_RESOURCE_COMMON_PROPERTY_V2 = 0x00000001,
2311 CLUSTER_CHANGE_RESOURCE_PRIVATE_PROPERTY_V2 = 0x00000002,
2312 CLUSTER_CHANGE_RESOURCE_STATE_V2 = 0x00000004,
2313 CLUSTER_CHANGE_RESOURCE_OWNER_GROUP_V2 = 0x00000008,
2314 CLUSTER_CHANGE_RESOURCE_DEPENDENCIES_V2 = 0x00000010,
2315 CLUSTER_CHANGE_RESOURCE_DEPENDENTS_V2 = 0x00000020,
2316 CLUSTER_CHANGE_RESOURCE_POSSIBLE_OWNERS_V2 = 0x00000040,
2317 CLUSTER_CHANGE_RESOURCE_DELETED_V2 = 0x00000080,
2318 CLUSTER_CHANGE_RESOURCE_DLL_UPGRADED_V2 = 0x00000100,
2319 CLUSTER_CHANGE_RESOURCE_HANDLE_CLOSE_V2 = 0x00000200
2320 } CLUSTER_CHANGE_RESOURCE_V2;
2323 CLUSTER_CHANGE_RESOURCE_TYPE_DELETED_V2 = 0x00000001,
2324 CLUSTER_CHANGE_RESOURCE_TYPE_COMMON_PROPERTY_V2 = 0x00000002,
2325 CLUSTER_CHANGE_RESOURCE_TYPE_PRIVATE_PROPERTY_V2 = 0x00000004,
2326 CLUSTER_CHANGE_RESOURCE_TYPE_POSSIBLE_OWNERS_V2 = 0x00000008,
2327 CLUSTER_CHANGE_RESOURCE_TYPE_DLL_UPGRADED_V2 = 0x00000010
2328 } CHANGE_RESOURCE_TYPE_V2;
2331 CLUSTER_CHANGE_NETINTERFACE_DELETED_V2 = 0x00000001,
2332 CLUSTER_CHANGE_NETINTERFACE_COMMON_PROPERTY_V2 = 0x00000002,
2333 CLUSTER_CHANGE_NETINTERFACE_PRIVATE_PROPERTY_V2 = 0x00000004,
2334 CLUSTER_CHANGE_NETINTERFACE_STATE_V2 = 0x00000008,
2335 CLUSTER_CHANGE_NETINTERFACE_HANDLE_CLOSE_V2 = 0x00000010
2336 } CLUSTER_CHANGE_NETINTERFACE_V2;
2339 CLUSTER_CHANGE_NETWORK_DELETED_V2 = 0x00000001,
2340 CLUSTER_CHANGE_NETWORK_COMMON_PROPERTY_V2 = 0x00000002,
2341 CLUSTER_CHANGE_NETWORK_PRIVATE_PROPERTY_V2 = 0x00000004,
2342 CLUSTER_CHANGE_NETWORK_STATE_V2 = 0x00000008,
2343 CLUSTER_CHANGE_NETWORK_HANDLE_CLOSE_V2 = 0x00000010
2344 } CLUSTER_CHANGE_NETWORK_V2;
2347 CLUSTER_CHANGE_NODE_NETINTERFACE_ADDED_V2 = 0x00000001,
2348 CLUSTER_CHANGE_NODE_DELETED_V2 = 0x00000002,
2349 CLUSTER_CHANGE_NODE_COMMON_PROPERTY_V2 = 0x00000004,
2350 CLUSTER_CHANGE_NODE_PRIVATE_PROPERTY_V2 = 0x00000008,
2351 CLUSTER_CHANGE_NODE_STATE_V2 = 0x00000010,
2352 CLUSTER_CHANGE_NODE_GROUP_GAINED_V2 = 0x00000020,
2353 CLUSTER_CHANGE_NODE_GROUP_LOST_V2 = 0x00000040,
2354 CLUSTER_CHANGE_NODE_HANDLE_CLOSE_V2 = 0x00000080
2355 } CLUSTER_CHANGE_NODE_V2;
2358 CLUSTER_CHANGE_REGISTRY_ATTRIBUTES_V2 = 0x00000001,
2359 CLUSTER_CHANGE_REGISTRY_NAME_V2 = 0x00000002,
2360 CLUSTER_CHANGE_REGISTRY_SUBTREE_V2 = 0x00000004,
2361 CLUSTER_CHANGE_REGISTRY_VALUE_V2 = 0x00000008,
2362 CLUSTER_CHANGE_REGISTRY_HANDLE_CLOSE_V2 = 0x00000010
2363 } CLUSTER_CHANGE_REGISTRY_V2;
2366 CLUSTER_CHANGE_QUORUM_STATE_V2 = 0x00000001
2367 } CLUSTER_CHANGE_QUORUM_V2;
2370 CLUSTER_CHANGE_SHARED_VOLUME_STATE_V2 = 0x00000001
2371 } CLUSTER_CHANGE_SHARED_VOLUME_V2;
2374 DiskIdSignature = 0x00000001,
2375 DiskIdGuid = 0x00000002,
2376 DiskIdUnKnown = 0x00001388
2377 } CLUSDSK_DISKID_ENUM;