6 uuid(b97db8b2
-4c63
-11cf
-bff6
-08002be23f2f
),
8 pointer_default(unique),
9 endpoint("ncacn_ip_tcp:"),
10 authservice
("MSServerClusterMgmtAPI"),
11 helpstring("Failover Cluster Management API (clusapi)")
17 * pidl does not yet have a real [context_handle] implementation, so we
18 * just use some defines here.
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
;
46 } RPC_SECURITY_DESCRIPTOR
;
50 RPC_SECURITY_DESCRIPTOR RpcSecurityDescriptor
;
52 } RPC_SECURITY_ATTRIBUTES
;
55 [value
(20)] uint32 dwSize
;
56 uint32 dwClusterHighestVersion
;
57 uint32 dwClusterLowestVersion
;
60 } CLUSTER_OPERATIONAL_VERSION_INFO
;
64 boolean8 SetAttempted
;
66 } IDL_CLUSTER_SET_PASSWORD_STATUS
;
69 IDL_CLUSTER_SET_PASSWORD_IGNORE_DOWN_NODES
= 1
70 } IDL_CLUSTER_SET_PASSWORD_FLAGS
;
75 } CLUSTER_CREATE_GROUP_INFO_RPC
;
82 * pidl cannot generate code for functions that return structures in
83 * IDL, therefore pretend the function is void and add the returned
84 * structure as an out parameter. This is what we do with pretty much
85 * all the Open calls right now in this interface - gd
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
;
178 [size_is(EntryCount
)] ENUM_ENTRY
Entry[*];
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
;
202 } RESOURCE_ENUM_ENTRY
;
206 [size_is(EntryCount
)] GROUP_ENUM_ENTRY
Entry[*];
211 [size_is(EntryCount
)] RESOURCE_ENUM_ENTRY
Entry[*];
212 } RESOURCE_ENUM_LIST
;
219 [ in ] ClusterEnumType dwType
,
220 [ out ] ENUM_LIST
**ReturnEnum
,
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
,
406 [ out ] ENUM_LIST
**ReturnEnum
,
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 ] uint32 samDesired
,
468 [ out ] WERROR
*Status
,
469 [ out ] WERROR
*rpc_status
474 [ in ] uint32 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 ] uint32 samDesired
,
489 [ in, unique ] RPC_SECURITY_ATTRIBUTES
*lpSecurityAttributes
,
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 ] uint32 samDesired
,
501 [ in, unique ] RPC_SECURITY_ATTRIBUTES
*lpSecurityAttributes
,
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 ] uint32 samDesired
,
516 [ out ] WERROR
*Status
,
517 [ out ] WERROR
*rpc_status
522 [ in ] HKEY_RPC hKey
,
523 [ in, string ] [charset
(UTF16
)] uint16
*lpSubKey
,
524 [ in ] uint32 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 ] uint32 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 ] uint32
*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 ] uint32
*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
,
635 [ in ] RPC_SECURITY_DESCRIPTOR
*pRpcSecurityDescriptor
,
636 [ out ] WERROR
*rpc_status
643 clusapi_GetKeySecurity
(
644 [ in ] HKEY_RPC hKey
,
645 [ in ] uint32 SecurityInformation
,
646 [ in, out ] RPC_SECURITY_DESCRIPTOR
*pRpcSecurityDescriptor
,
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
795 clusapi_CreateGroupResourceEnum
(
796 [ in ] HGROUP_RPC hGroup
,
797 [ in ] uint32 dwType
,
798 [ out ] ENUM_LIST
**ReturnEnum
,
799 [ out ] WERROR
*rpc_status
806 clusapi_SetGroupNodeList
(
807 [ in ] HGROUP_RPC hGroup
,
808 [ in, unique, size_is(cchListSize
) ] uint16
*multiSzNodeList
,
809 [ in ] uint32 cchListSize
,
810 [ out ] WERROR
*rpc_status
817 clusapi_CreateNotify
(
818 [ out ] WERROR
*Status
,
819 [ out ] WERROR
*rpc_status
823 clusapi_CreateNotify
(
824 [ out ] WERROR
*Status
,
825 [ out ] WERROR
*rpc_status
,
826 [ out ] HNOTIFY_RPC
*hNotify
834 [ in, out ] HNOTIFY_RPC
*Notify
841 clusapi_AddNotifyCluster
(
842 [ in ] HNOTIFY_RPC hNotify
,
843 [ in ] HCLUSTER_RPC hCluster
,
844 [ in ] uint32 dwFilter
,
845 [ in ] uint32 dwNotifyKey
,
846 [ out ] WERROR
*rpc_status
853 clusapi_AddNotifyNode
(
854 [ in ] HNOTIFY_RPC hNotify
,
855 [ in ] HNODE_RPC hNode
,
856 [ in ] uint32 dwFilter
,
857 [ in ] uint32 dwNotifyKey
,
858 [ out ] uint32
*dwStateSequence
,
859 [ out ] WERROR
*rpc_status
866 clusapi_AddNotifyGroup
(
867 [ in ] HNOTIFY_RPC hNotify
,
868 [ in ] HGROUP_RPC hGroup
,
869 [ in ] uint32 dwFilter
,
870 [ in ] uint32 dwNotifyKey
,
871 [ out ] uint32
*dwStateSequence
,
872 [ out ] WERROR
*rpc_status
879 clusapi_AddNotifyResource
(
880 [ in ] HNOTIFY_RPC hNotify
,
881 [ in ] HRES_RPC hResource
,
882 [ in ] uint32 dwFilter
,
883 [ in ] uint32 dwNotifyKey
,
884 [ out ] uint32
*dwStateSequence
,
885 [ out ] WERROR
*rpc_status
892 clusapi_AddNotifyKey
(
893 [ in ] HNOTIFY_RPC hNotify
,
894 [ in ] HKEY_RPC hKey
,
895 [ in ] uint32 dwNotifyKey
,
896 [ in ] uint32 Filter
,
897 [ in ] boolean8 WatchSubTree
,
898 [ out ] WERROR
*rpc_status
905 clusapi_ReAddNotifyNode
(
906 [ in ] HNOTIFY_RPC hNotify
,
907 [ in ] HNODE_RPC hNode
,
908 [ in ] uint32 dwFilter
,
909 [ in ] uint32 dwNotifyKey
,
910 [ in ] uint32 StateSequence
,
911 [ out ] WERROR
*rpc_status
918 clusapi_ReAddNotifyGroup
(
919 [ in ] HNOTIFY_RPC hNotify
,
920 [ in ] HGROUP_RPC hGroup
,
921 [ in ] uint32 dwFilter
,
922 [ in ] uint32 dwNotifyKey
,
923 [ in ] uint32 StateSequence
,
924 [ out ] WERROR
*rpc_status
931 clusapi_ReAddNotifyResource
(
932 [ in ] HNOTIFY_RPC hNotify
,
933 [ in ] HRES_RPC hResource
,
934 [ in ] uint32 dwFilter
,
935 [ in ] uint32 dwNotifyKey
,
936 [ in ] uint32 StateSequence
,
937 [ out ] WERROR
*rpc_status
945 [ in ] HNOTIFY_RPC hNotify
,
946 [ out ] uint32
*dwNotifyKey
,
947 [ out ] uint32
*dwFilter
,
948 [ out ] uint32
*dwStateSequence
,
949 [ out, string ] [charset
(UTF16
)] uint16
**Name
,
950 [ out ] WERROR
*rpc_status
958 [ in, string ] [charset
(UTF16
)] uint16
*lpszNodeName
,
959 [ out ] WERROR
*Status
,
960 [ out ] WERROR
*rpc_status
965 [ in, string ] [charset
(UTF16
)] uint16
*lpszNodeName
,
966 [ out ] WERROR
*Status
,
967 [ out ] WERROR
*rpc_status
,
968 [ out ] HNODE_RPC
*hNode
976 [ in, out ] HNODE_RPC
*Node
982 typedef [v1_enum] enum {
983 ClusterNodeUp
= 0x00000000,
984 ClusterNodeDown
= 0x00000001,
985 ClusterNodePaused
= 0x00000002,
986 ClusterNodeJoining
= 0x00000003,
987 ClusterNodeStateUnknown
= 0xFFFFFFFF
988 } clusapi_ClusterNodeState
;
991 clusapi_GetNodeState
(
992 [ in ] HNODE_RPC hNode
,
993 [ out ] clusapi_ClusterNodeState
*State
,
994 [ out ] WERROR
*rpc_status
1002 [ in ] HNODE_RPC hNode
,
1003 [ out ] WERROR
*rpc_status
1011 [ in ] HNODE_RPC hNode
,
1012 [ out ] WERROR
*rpc_status
1020 [ in ] HNODE_RPC hNode
,
1021 [ out ] WERROR
*rpc_status
1028 clusapi_NodeResourceControl
(
1029 [ in ] HRES_RPC hResource
,
1030 [ in ] HNODE_RPC hNode
,
1031 [ in ] uint32 dwControlCode
,
1032 [ in, unique, size_is(nInBufferSize
) ] uint8
*lpInBuffer
,
1033 [ in ] uint32 nInBufferSize
,
1034 [ out, size_is(nOutBufferSize
),
1035 length_is (*lpBytesReturned
)] uint8
*lpOutBuffer
,
1036 [ in ] uint32 nOutBufferSize
,
1037 [ out ] uint32
*lpBytesReturned
,
1038 [ out ] uint32
*lpcbRequired
,
1039 [ out ] WERROR
*rpc_status
1046 clusapi_ResourceControl
(
1047 [ in ] HRES_RPC hResource
,
1048 [ in ] uint32 dwControlCode
,
1049 [ in, unique, size_is(nInBufferSize
) ] uint8
*lpInBuffer
,
1050 [ in ] uint32 nInBufferSize
,
1051 [ out, size_is(nOutBufferSize
),
1052 length_is (*lpBytesReturned
)] uint8
*lpOutBuffer
,
1053 [ in ] uint32 nOutBufferSize
,
1054 [ out ] uint32
*lpBytesReturned
,
1055 [ out ] uint32
*lpcbRequired
,
1056 [ out ] WERROR
*rpc_status
1063 clusapi_NodeResourceTypeControl
(
1064 [ in ] HCLUSTER_RPC hCluster
,
1065 [ in, string ] [charset
(UTF16
)] uint16
*lpszResourceTypeName
,
1066 [ in ] HNODE_RPC hNode
,
1067 [ in ] uint32 dwControlCode
,
1068 [ in, unique, size_is(nInBufferSize
) ] uint8
*lpInBuffer
,
1069 [ in ] uint32 nInBufferSize
,
1070 [ out, size_is(nOutBufferSize
),
1071 length_is (*lpBytesReturned
)] uint8
*lpOutBuffer
,
1072 [ in ] uint32 nOutBufferSize
,
1073 [ out ] uint32
*lpBytesReturned
,
1074 [ out ] uint32
*lpcbRequired
,
1075 [ out ] WERROR
*rpc_status
1082 clusapi_ResourceTypeControl
(
1083 [ in ] HCLUSTER_RPC hCluster
,
1084 [ in, string ] [charset
(UTF16
)] uint16
*lpszResourceTypeName
,
1085 [ in ] uint32 dwControlCode
,
1086 [ in, unique, size_is(nInBufferSize
) ] uint8
*lpInBuffer
,
1087 [ in ] uint32 nInBufferSize
,
1088 [ out, size_is(nOutBufferSize
),
1089 length_is (*lpBytesReturned
)] uint8
*lpOutBuffer
,
1090 [ in ] uint32 nOutBufferSize
,
1091 [ out ] uint32
*lpBytesReturned
,
1092 [ out ] uint32
*lpcbRequired
,
1093 [ out ] WERROR
*rpc_status
1100 clusapi_NodeGroupControl
(
1101 [ in ] HGROUP_RPC hGroup
,
1102 [ in ] HNODE_RPC hNode
,
1103 [ in ] uint32 dwControlCode
,
1104 [ in, unique, size_is(nInBufferSize
) ] uint8
*lpInBuffer
,
1105 [ in ] uint32 nInBufferSize
,
1106 [ out, size_is(nOutBufferSize
),
1107 length_is (*lpBytesReturned
)] uint8
*lpOutBuffer
,
1108 [ in ] uint32 nOutBufferSize
,
1109 [ out ] uint32
*lpBytesReturned
,
1110 [ out ] uint32
*lpcbRequired
,
1111 [ out ] WERROR
*rpc_status
1118 clusapi_GroupControl
(
1119 [ in ] HGROUP_RPC hGroup
,
1120 [ in ] uint32 dwControlCode
,
1121 [ in, unique, size_is(nInBufferSize
) ] uint8
*lpInBuffer
,
1122 [ in ] uint32 nInBufferSize
,
1123 [ out, size_is(nOutBufferSize
),
1124 length_is (*lpBytesReturned
)] uint8
*lpOutBuffer
,
1125 [ in ] uint32 nOutBufferSize
,
1126 [ out ] uint32
*lpBytesReturned
,
1127 [ out ] uint32
*lpcbRequired
,
1128 [ out ] WERROR
*rpc_status
1135 clusapi_NodeNodeControl
(
1136 [ in ] HNODE_RPC hNode
,
1137 [ in ] HNODE_RPC hHostNode
,
1138 [ in ] uint32 dwControlCode
,
1139 [ in, unique, size_is(nInBufferSize
) ] uint8
*lpInBuffer
,
1140 [ in ] uint32 nInBufferSize
,
1141 [ out, size_is(nOutBufferSize
),
1142 length_is (*lpBytesReturned
)] uint8
*lpOutBuffer
,
1143 [ in ] uint32 nOutBufferSize
,
1144 [ out ] uint32
*lpBytesReturned
,
1145 [ out ] uint32
*lpcbRequired
,
1146 [ out ] WERROR
*rpc_status
1153 clusapi_NodeControl
(
1154 [ in ] HNODE_RPC hNode
,
1155 [ in ] uint32 dwControlCode
,
1156 [ in, unique, size_is(nInBufferSize
) ] uint8
*lpInBuffer
,
1157 [ in ] uint32 nInBufferSize
,
1158 [ out, size_is(nOutBufferSize
),
1159 length_is (*lpBytesReturned
)] uint8
*lpOutBuffer
,
1160 [ in ] uint32 nOutBufferSize
,
1161 [ out ] uint32
*lpBytesReturned
,
1162 [ out ] uint32
*lpcbRequired
,
1163 [ out ] WERROR
*rpc_status
1170 Opnum80NotUsedOnWire
(void);
1176 clusapi_OpenNetwork
(
1177 [ in, string ] [charset
(UTF16
)] uint16
*lpszNetworkName
,
1178 [ out ] WERROR
*Status
,
1179 [ out ] WERROR
*rpc_status
1183 clusapi_OpenNetwork
(
1184 [ in, string ] [charset
(UTF16
)] uint16
*lpszNetworkName
,
1185 [ out ] WERROR
*Status
,
1186 [ out ] WERROR
*rpc_status
,
1187 [ out ] HNETWORK_RPC
*hNetwork
1194 clusapi_CloseNetwork
(
1195 [ in, out ] HNETWORK_RPC
*Network
1201 typedef [v1_enum] enum {
1202 ClusterNetworkUnavailable
= 0x00000000,
1203 ClusterNetworkDown
= 0x00000001,
1204 ClusterNetworkPartitioned
= 0x00000002,
1205 ClusterNetworkUp
= 0x00000003,
1206 ClusterNetworkStateUnknown
= 0xFFFFFFFF
1207 } clusapi_ClusterNetworkState
;
1210 clusapi_GetNetworkState
(
1211 [ in ] HNETWORK_RPC hNetwork
,
1212 [ out ] clusapi_ClusterNetworkState
*State
,
1213 [ out ] WERROR
*rpc_status
1220 clusapi_SetNetworkName
(
1221 [ in ] HNETWORK_RPC hNetwork
,
1222 [ in, string ] [charset
(UTF16
)] uint16
*lpszNetworkName
,
1223 [ out ] WERROR
*rpc_status
1230 clusapi_CreateNetworkEnum
(
1231 [ in ] HNETWORK_RPC hNetwork
,
1232 [ in ] uint32 dwType
,
1233 [ out ] ENUM_LIST
**ReturnEnum
,
1234 [ out ] WERROR
*rpc_status
1241 clusapi_GetNetworkId
(
1242 [ in ] HNETWORK_RPC hNetwork
,
1243 [ out, string ] [charset
(UTF16
)] uint16
**pGuid
,
1244 [ out ] WERROR
*rpc_status
1251 clusapi_SetNetworkPriorityOrder
(
1252 [ in, range(0, 1000)] uint32 NetworkCount
,
1253 [ in, string, size_is(NetworkCount
) ] [charset
(UTF16
)] uint16 NetworkIdList
[*],
1254 [ out ] WERROR
*rpc_status
1261 clusapi_NodeNetworkControl
(
1262 [ in ] HNETWORK_RPC hNetwork
,
1263 [ in ] HNODE_RPC hNode
,
1264 [ in ] uint32 dwControlCode
,
1265 [ in, unique, size_is(nInBufferSize
) ] uint8
*lpInBuffer
,
1266 [ in ] uint32 nInBufferSize
,
1267 [ out, size_is(nOutBufferSize
),
1268 length_is (*lpBytesReturned
)] uint8
*lpOutBuffer
,
1269 [ in ] uint32 nOutBufferSize
,
1270 [ out ] uint32
*lpBytesReturned
,
1271 [ out ] uint32
*lpcbRequired
,
1272 [ out ] WERROR
*rpc_status
1279 clusapi_NetworkControl
(
1280 [ in ] HNETWORK_RPC hNetwork
,
1281 [ in ] uint32 dwControlCode
,
1282 [ in, unique, size_is(nInBufferSize
) ] uint8
*lpInBuffer
,
1283 [ in ] uint32 nInBufferSize
,
1284 [ out, size_is(nOutBufferSize
),
1285 length_is (*lpBytesReturned
)] uint8
*lpOutBuffer
,
1286 [ in ] uint32 nOutBufferSize
,
1287 [ out ] uint32
*lpBytesReturned
,
1288 [ out ] uint32
*lpcbRequired
,
1289 [ out ] WERROR
*rpc_status
1296 clusapi_AddNotifyNetwork
(
1297 [ in ] HNOTIFY_RPC hNotify
,
1298 [ in ] HNETWORK_RPC hNetwork
,
1299 [ in ] uint32 dwFilter
,
1300 [ in ] uint32 dwNotifyKey
,
1301 [ out ] uint32
*dwStateSequence
,
1302 [ out ] WERROR
*rpc_status
1309 clusapi_ReAddNotifyNetwork
(
1310 [ in ] HNOTIFY_RPC hNotify
,
1311 [ in ] HNETWORK_RPC hNetwork
,
1312 [ in ] uint32 dwFilter
,
1313 [ in ] uint32 dwNotifyKey
,
1314 [ in ] uint32 StateSequence
,
1315 [ out ] WERROR
*rpc_status
1322 clusapi_OpenNetInterface
(
1323 [ in, string ] [charset
(UTF16
)] uint16
*lpszNetInterfaceName
,
1324 [ out ] WERROR
*Status
,
1325 [ out ] WERROR
*rpc_status
1329 clusapi_OpenNetInterface
(
1330 [ in, string ] [charset
(UTF16
)] uint16
*lpszNetInterfaceName
,
1331 [ out ] WERROR
*Status
,
1332 [ out ] WERROR
*rpc_status
,
1333 [ out ] HNETINTERFACE_RPC
*hNetInterface
1340 clusapi_CloseNetInterface
(
1341 [ in, out ] HNETINTERFACE_RPC
*NetInterface
1347 typedef [v1_enum] enum {
1348 ClusterNetInterfaceFailed
= 0x00000000,
1349 ClusterNetInterfaceUnreachable
= 0x00000001,
1350 ClusterNetInterfaceUnavailable
= 0x00000002,
1351 ClusterNetInterfaceUp
= 0x00000003,
1352 ClusterNetInterfaceStateUnknown
= 0xFFFFFFFF
1353 } clusapi_ClusterNetInterfaceState
;
1356 clusapi_GetNetInterfaceState
(
1357 [ in ] HNETINTERFACE_RPC hNetInterface
,
1358 [ out ] clusapi_ClusterNetInterfaceState
*State
,
1359 [ out ] WERROR
*rpc_status
1366 clusapi_GetNetInterface
(
1367 [ in, string ] [charset
(UTF16
)] uint16
*lpszNodeName
,
1368 [ in, string ] [charset
(UTF16
)] uint16
*lpszNetworkName
,
1369 [ out, string ] [charset
(UTF16
)] uint16
**lppszInterfaceName
,
1370 [ out ] WERROR
*rpc_status
1377 clusapi_GetNetInterfaceId
(
1378 [ in ] HNETINTERFACE_RPC hNetInterface
,
1379 [ out, string ] [charset
(UTF16
)] uint16
**pGuid
,
1380 [ out ] WERROR
*rpc_status
1387 clusapi_NodeNetInterfaceControl
(
1388 [ in ] HNETINTERFACE_RPC hNetInterface
,
1389 [ in ] HNODE_RPC hNode
,
1390 [ in ] uint32 dwControlCode
,
1391 [ in, unique, size_is(nInBufferSize
) ] uint8
*lpInBuffer
,
1392 [ in ] uint32 nInBufferSize
,
1393 [ out, size_is(nOutBufferSize
),
1394 length_is (*lpBytesReturned
)] uint8
*lpOutBuffer
,
1395 [ in ] uint32 nOutBufferSize
,
1396 [ out ] uint32
*lpBytesReturned
,
1397 [ out ] uint32
*lpcbRequired
,
1398 [ out ] WERROR
*rpc_status
1405 clusapi_NetInterfaceControl
(
1406 [ in ] HNETINTERFACE_RPC hNetInterface
,
1407 [ in ] uint32 dwControlCode
,
1408 [ in, unique, size_is(nInBufferSize
) ] uint8
*lpInBuffer
,
1409 [ in ] uint32 nInBufferSize
,
1410 [ out, size_is(nOutBufferSize
),
1411 length_is (*lpBytesReturned
)] uint8
*lpOutBuffer
,
1412 [ in ] uint32 nOutBufferSize
,
1413 [ out ] uint32
*lpBytesReturned
,
1414 [ out ] uint32
*lpcbRequired
,
1415 [ out ] WERROR
*rpc_status
1422 clusapi_AddNotifyNetInterface
(
1423 [ in ] HNOTIFY_RPC hNotify
,
1424 [ in ] HNETINTERFACE_RPC hNetInterface
,
1425 [ in ] uint32 dwFilter
,
1426 [ in ] uint32 dwNotifyKey
,
1427 [ out ] uint32
*dwStateSequence
,
1428 [ out ] WERROR
*rpc_status
1435 clusapi_ReAddNotifyNetInterface
(
1436 [ in ] HNOTIFY_RPC hNotify
,
1437 [ in ] HNETINTERFACE_RPC hNetInterface
,
1438 [ in ] uint32 dwFilter
,
1439 [ in ] uint32 dwNotifyKey
,
1440 [ in ] uint32 StateSequence
,
1441 [ out ] WERROR
*rpc_status
1448 clusapi_CreateNodeEnum
(
1449 [ in ] HNODE_RPC hNode
,
1450 [ in ] uint32 dwType
,
1451 [ out ] ENUM_LIST
**ReturnEnum
,
1452 [ out ] WERROR
*rpc_status
1459 clusapi_GetClusterVersion2
(
1460 [ out ] uint16
*lpwMajorVersion
,
1461 [ out ] uint16
*lpwMinorVersion
,
1462 [ out ] uint16
*lpwBuildNumber
,
1463 [ out, string ] [charset
(UTF16
)] uint16
**lpszVendorId
,
1464 [ out, string ] [charset
(UTF16
)] uint16
**lpszCSDVersion
,
1465 [ out ] CLUSTER_OPERATIONAL_VERSION_INFO
**ppClusterOpVerInfo
,
1466 [ out ] WERROR
*rpc_status
1473 clusapi_CreateResTypeEnum
(
1474 [ in, string ] [charset
(UTF16
)] uint16
*lpszTypeName
,
1475 [ in ] uint32 dwType
,
1476 [ out ] ENUM_LIST
**ReturnEnum
,
1477 [ out ] WERROR
*rpc_status
1484 clusapi_BackupClusterDatabase
(
1485 [ in, string ] [charset
(UTF16
)] uint16
*lpszPathName
,
1486 [ out ] WERROR
*rpc_status
1493 clusapi_NodeClusterControl
(
1494 [ in ] HCLUSTER_RPC hCluster
,
1495 [ in ] HNODE_RPC hHostNode
,
1496 [ in ] uint32 dwControlCode
,
1497 [ in, unique, size_is(nInBufferSize
) ] uint8
*lpInBuffer
,
1498 [ in ] uint32 nInBufferSize
,
1499 [ out, size_is(nOutBufferSize
),
1500 length_is (*lpBytesReturned
)] uint8
*lpOutBuffer
,
1501 [ in ] uint32 nOutBufferSize
,
1502 [ out ] uint32
*lpBytesReturned
,
1503 [ out ] uint32
*lpcbRequired
,
1504 [ out ] WERROR
*rpc_status
1511 clusapi_ClusterControl
(
1512 [ in ] HCLUSTER_RPC hCluster
,
1513 [ in ] uint32 dwControlCode
,
1514 [ in, unique, size_is(nInBufferSize
) ] uint8
*lpInBuffer
,
1515 [ in ] uint32 nInBufferSize
,
1516 [ out, size_is(nOutBufferSize
),
1517 length_is (*lpBytesReturned
)] uint8
*lpOutBuffer
,
1518 [ in ] uint32 nOutBufferSize
,
1519 [ out ] uint32
*lpBytesReturned
,
1520 [ out ] uint32
*lpcbRequired
,
1521 [ out ] WERROR
*rpc_status
1528 clusapi_UnblockGetNotifyCall
(
1529 [ in ] HNOTIFY_RPC hNotify
1536 clusapi_SetServiceAccountPassword
(
1537 [ in, string ] [charset
(UTF16
)] uint16
*lpszNewPassword
,
1538 [ in ] IDL_CLUSTER_SET_PASSWORD_FLAGS dwFlags
,
1539 [ out, size_is(ReturnStatusBufferSize
), length_is(*SizeReturned
) ]
1540 IDL_CLUSTER_SET_PASSWORD_STATUS ReturnStatusBufferPtr
[*],
1541 [ in, range(0, (64 * 1024)) ] uint32 ReturnStatusBufferSize
,
1542 [ out ] uint32
*SizeReturned
,
1543 [ out ] uint32
*ExpectedBufferSize
1550 clusapi_SetResourceDependencyExpression
(
1551 [ in ] HRES_RPC hResource
,
1552 [ in, string, unique ] [charset
(UTF16
)] uint16
*lpszDependencyExpression
,
1553 [ out ] WERROR
*rpc_status
1560 clusapi_GetResourceDependencyExpression
(
1561 [ in ] HRES_RPC hResource
,
1562 [ out, string ] [charset
(UTF16
)] uint16
**lpszDependencyExpression
,
1563 [ out ] WERROR
*rpc_status
1570 Opnum111NotUsedOnWire
(void);
1576 clusapi_GetResourceNetworkName
(
1577 [ in ] HRES_RPC hResource
,
1578 [ out, string ] [charset
(UTF16
)] uint16
**lpszName
,
1579 [ out ] WERROR
*rpc_status
1586 clusapi_ExecuteBatch
(
1587 [ in ] HKEY_RPC hKey
,
1588 [ in ] uint32 cbData
,
1589 [ in, size_is(cbData
)] uint8
*lpData
,
1590 [ out ] int *pdwFailedCommand
,
1591 [ out ] WERROR
*rpc_status
1598 clusapi_CreateBatchPort
(
1599 [ in ] HKEY_RPC hKey
,
1600 [ out ] HBATCH_PORT_RPC
*phBatchPort
,
1601 [ out ] WERROR
*rpc_status
1608 clusapi_GetBatchNotification
(
1609 [ in ] HBATCH_PORT_RPC hBatchNotify
,
1610 [ out ] uint32
*cbData
,
1611 [ out, size_is(,*cbData
) ] uint8
** lpData
1618 clusapi_CloseBatchPort
(
1619 [ in, out ] HBATCH_PORT_RPC
*phBatchPort
1625 typedef [bitmap32bit
] bitmap
{
1626 CLUSAPI_READ_ACCESS
= 0x00000001,
1627 CLUSAPI_CHANGE_ACCESS
= 0x00000002,
1628 CLUSAPI_GENERIC_READ
= 0x80000000,
1629 CLUSAPI_GENERIC_WRITE
= 0x40000000,
1630 CLUSAPI_GENERIC_EXECUTE
= 0x20000000,
1631 CLUSAPI_GENERIC_ALL
= 0x10000000,
1632 CLUSAPI_MAXIMUM_ALLOWED
= 0x02000000
1633 } clusapi_DesiredAccessMask
;
1637 clusapi_OpenClusterEx
(
1638 [ in ] clusapi_DesiredAccessMask dwDesiredAccess
,
1639 [ out ] uint32
*lpdwGrantedAccess
,
1640 [ out ] WERROR
*Status
1644 clusapi_OpenClusterEx
(
1645 [ in ] clusapi_DesiredAccessMask dwDesiredAccess
,
1646 [ out ] uint32
*lpdwGrantedAccess
,
1647 [ out ] WERROR
*Status
,
1648 [ out ] HCLUSTER_RPC
*hCluster
1657 [ in, string ] [charset
(UTF16
)] uint16
*lpszNodeName
,
1658 [ in ] clusapi_DesiredAccessMask dwDesiredAccess
,
1659 [ out ] uint32
*lpdwGrantedAccess
,
1660 [ out ] WERROR
*Status
,
1661 [ out ] WERROR
*rpc_status
1666 [ in, string ] [charset
(UTF16
)] uint16
*lpszNodeName
,
1667 [ in ] clusapi_DesiredAccessMask dwDesiredAccess
,
1668 [ out ] uint32
*lpdwGrantedAccess
,
1669 [ out ] WERROR
*Status
,
1670 [ out ] WERROR
*rpc_status
,
1671 [ out ] HNODE_RPC
*hNode
1678 clusapi_OpenGroupEx
(
1679 [ in, string ] [charset
(UTF16
)] uint16
*lpszGroupName
,
1680 [ in ] clusapi_DesiredAccessMask dwDesiredAccess
,
1681 [ out ] uint32
*lpdwGrantedAccess
,
1682 [ out ] WERROR
*Status
,
1683 [ out ] WERROR
*rpc_status
1687 clusapi_OpenGroupEx
(
1688 [ in, string ] [charset
(UTF16
)] uint16
*lpszGroupName
,
1689 [ in ] clusapi_DesiredAccessMask dwDesiredAccess
,
1690 [ out ] uint32
*lpdwGrantedAccess
,
1691 [ out ] WERROR
*Status
,
1692 [ out ] WERROR
*rpc_status
,
1693 [ out ] HGROUP_RPC
*hGroup
1700 clusapi_OpenResourceEx
(
1701 [ in, string ] [charset
(UTF16
)] uint16
*lpszResourceName
,
1702 [ in ] clusapi_DesiredAccessMask dwDesiredAccess
,
1703 [ out ] uint32
*lpdwGrantedAccess
,
1704 [ out ] WERROR
*Status
,
1705 [ out ] WERROR
*rpc_status
1709 clusapi_OpenResourceEx
(
1710 [ in, string ] [charset
(UTF16
)] uint16
*lpszResourceName
,
1711 [ in ] clusapi_DesiredAccessMask dwDesiredAccess
,
1712 [ out ] uint32
*lpdwGrantedAccess
,
1713 [ out ] WERROR
*Status
,
1714 [ out ] WERROR
*rpc_status
,
1715 [ out ] HRES_RPC
*hResource
1722 clusapi_OpenNetworkEx
(
1723 [ in, string ] [charset
(UTF16
)] uint16
*lpszNetworkName
,
1724 [ in ] clusapi_DesiredAccessMask dwDesiredAccess
,
1725 [ out ] uint32
*lpdwGrantedAccess
,
1726 [ out ] WERROR
*Status
,
1727 [ out ] WERROR
*rpc_status
1731 clusapi_OpenNetworkEx
(
1732 [ in, string ] [charset
(UTF16
)] uint16
*lpszNetworkName
,
1733 [ in ] clusapi_DesiredAccessMask dwDesiredAccess
,
1734 [ out ] uint32
*lpdwGrantedAccess
,
1735 [ out ] WERROR
*Status
,
1736 [ out ] WERROR
*rpc_status
,
1737 [ out ] HNETWORK_RPC
*hNetwork
1744 clusapi_OpenNetInterfaceEx
(
1745 [ in, string ] [charset
(UTF16
)] uint16
*lpszNetInterfaceName
,
1746 [ in ] clusapi_DesiredAccessMask dwDesiredAccess
,
1747 [ out ] uint32
*lpdwGrantedAccess
,
1748 [ out ] WERROR
*Status
,
1749 [ out ] WERROR
*rpc_status
1753 clusapi_OpenNetInterfaceEx
(
1754 [ in, string ] [charset
(UTF16
)] uint16
*lpszNetInterfaceName
,
1755 [ in ] clusapi_DesiredAccessMask dwDesiredAccess
,
1756 [ out ] uint32
*lpdwGrantedAccess
,
1757 [ out ] WERROR
*Status
,
1758 [ out ] WERROR
*rpc_status
,
1759 [ out ] HNETINTERFACE_RPC
*hNetInterface
1766 clusapi_ChangeCsvState
(
1767 [ in ] HRES_RPC hResource
,
1768 [ in ] uint32 dwState
,
1769 [ out ] WERROR
*rpc_status
1776 clusapi_CreateNodeEnumEx
(
1777 [in] HNODE_RPC hNode
,
1779 [in] uint32 dwOptions
,
1780 [out] ENUM_LIST
**ReturnIdEnum
,
1781 [out] ENUM_LIST
**ReturnNameEnum
,
1782 [out] WERROR
* rpc_status
1789 clusapi_CreateEnumEx
(
1790 [in] HCLUSTER_RPC hCluster
,
1792 [in] uint32 dwOptions
,
1793 [out] ENUM_LIST
**ReturnIdEnum
,
1794 [out] ENUM_LIST
**ReturnNameEnum
,
1795 [out] WERROR
* rpc_status
1802 clusapi_PauseNodeEx
(
1803 [ in ] HNODE_RPC hNode
,
1804 [ in ] boolean8 bDrainNode
,
1805 [ in ] uint32 dwPauseFlags
,
1806 [ out ] WERROR
*rpc_status
1813 clusapi_PauseNodeWithDrainTarget
(
1814 [ in ] HNODE_RPC hNode
,
1815 [ in ] uint32 dwPauseFlags
,
1816 [ in ] HNODE_RPC hNodeDrainTarget
,
1817 [ out ] WERROR
*rpc_status
1824 clusapi_ResumeNodeEx
(
1825 [ in ] HNODE_RPC hNode
,
1826 [ in ] uint32 dwResumeFailbackType
,
1827 [ in ] uint32 dwResumeFlagsReserved
,
1828 [ out ] WERROR
*rpc_status
1835 clusapi_CreateGroupEx
(
1836 [ in, string ] [charset
(UTF16
)] uint16
*lpszGroupName
,
1837 [ in, unique ] CLUSTER_CREATE_GROUP_INFO_RPC
*pGroupInfo
,
1838 [ out ] WERROR
*Status
,
1839 [ out ] WERROR
*rpc_status
1843 clusapi_CreateGroupEx
(
1844 [ in, string ] [charset
(UTF16
)] uint16
*lpszGroupName
,
1845 [ in, unique ] CLUSTER_CREATE_GROUP_INFO_RPC
*pGroupInfo
,
1846 [ out ] WERROR
*Status
,
1847 [ out ] WERROR
*rpc_status
,
1848 [ out ] HGROUP_RPC
*hGroup
1855 clusapi_OnlineGroupEx
(
1856 [ in ] HGROUP_RPC hGroup
,
1857 [ in ] uint32 dwOnlineFlags
,
1858 [ in, size_is(cbInBufferSize
) ] uint8
* lpInBuffer
,
1859 [ in ] uint32 cbInBufferSize
,
1860 [ out ] WERROR
*rpc_status
1867 clusapi_OfflineGroupEx
(
1868 [ in ] HGROUP_RPC hGroup
,
1869 [ in ] uint32 dwOfflineFlags
,
1870 [ in, size_is(cbInBufferSize
) ] uint8
* lpInBuffer
,
1871 [ in ] uint32 cbInBufferSize
,
1872 [ out ] WERROR
*rpc_status
1879 clusapi_MoveGroupEx
(
1880 [ in ] HGROUP_RPC hGroup
,
1881 [ in ] uint32 dwMoveFlags
,
1882 [ in, size_is(cbInBufferSize
) ] uint8
* lpInBuffer
,
1883 [ in ] uint32 cbInBufferSize
,
1884 [ out ] WERROR
*rpc_status
1891 clusapi_MoveGroupToNodeEx
(
1892 [ in ] HGROUP_RPC hGroup
,
1893 [ in ] HNODE_RPC hNode
,
1894 [ in ] uint32 dwMoveFlags
,
1895 [ in, size_is(cbInBufferSize
) ] uint8
* lpInBuffer
,
1896 [ in ] uint32 cbInBufferSize
,
1897 [ out ] WERROR
*rpc_status
1904 clusapi_CancelClusterGroupOperation
(
1905 [ in ] HGROUP_RPC hGroup
,
1906 [ in ] uint32 dwCancelFlags
,
1907 [ out ] WERROR
*rpc_status
1914 clusapi_OnlineResourceEx
(
1915 [ in ] HRES_RPC hResource
,
1916 [ in ] uint32 dwOnlineFlags
,
1917 [ in, size_is(cbInBufferSize
) ] uint8
* lpInBuffer
,
1918 [ in ] uint32 cbInBufferSize
,
1919 [ out ] WERROR
*rpc_status
1926 clusapi_OfflineResourceEx
(
1927 [ in ] HRES_RPC hResource
,
1928 [ in ] uint32 dwOfflineFlags
,
1929 [ in, size_is(cbInBufferSize
) ] uint8
* lpInBuffer
,
1930 [ in ] uint32 cbInBufferSize
,
1931 [ out ] WERROR
*rpc_status
1934 #define HGENERIC_RPC policy_handle
1936 typedef [context_handle] void *HGENERIC_RPC
;
1940 uint32 dwObjectType
; // really of type CLUSTER_OBJECT_TYPE_RPC
1942 } NOTIFY_FILTER_AND_TYPE_RPC
;
1945 NOTIFY_FILTER_AND_TYPE_RPC FilterAndType
;
1946 [ size_is(dwBufferSize
) ] uint8
* buffer
;
1947 uint32 dwBufferSize
;
1948 [string] [charset
(UTF16
)] uint16
*ObjectId
;
1949 [string] [charset
(UTF16
)] uint16
*ParentId
;
1950 [string] [charset
(UTF16
)] uint16
*Name
;
1951 [string] [charset
(UTF16
)] uint16
*Type
;
1952 } NOTIFICATION_DATA_RPC
;
1955 uint32
*dwNotifyKey
;
1956 NOTIFICATION_DATA_RPC NotificationData
;
1963 // Notify interface V2 functions
1967 clusapi_CreateNotifyV2
(
1968 [ out ] WERROR
*rpc_error
,
1969 [ out ] WERROR
*rpc_status
1973 clusapi_CreateNotifyV2
(
1974 [ out ] WERROR
*rpc_error
,
1975 [ out ] WERROR
*rpc_status
,
1976 [ out ] HNOTIFY_RPC
*hNotify
1984 clusapi_AddNotifyV2
(
1985 [ in ] HNOTIFY_RPC hNotify
,
1986 [ in ] HGENERIC_RPC hObject
,
1987 [ in ] NOTIFY_FILTER_AND_TYPE_RPC filter
,
1988 [ in ] uint32 dwNotifyKey
,
1989 [ in ] uint32 dwVersion
,
1990 [ in ] boolean8 isTargetedAtObject
,
1991 [ out ] WERROR
*rpc_status
1998 clusapi_GetNotifyV2
(
1999 [ in ] HNOTIFY_RPC hNotify
,
2000 [ out, size_is(,*dwNumNotifications
) ] NOTIFICATION_RPC
**Notifications
,
2001 [ out ] uint32
*dwNumNotifications
2008 clusapi_QueryAllValues
(
2009 [ in ] HKEY_RPC hKey
,
2010 [ out ] uint32
*pcbData
,
2011 [ out, size_is(1, *pcbData
) ] uint8
** ppData
,
2012 [ out ] WERROR
*rpc_status
2017 uint8 DiskIdBlob
[16];
2024 clusapi_StmFindDisk
(
2025 [ in ] HCLUSTER_RPC hCluster
,
2026 [ in ] uint32 dwFlags
,
2027 [ in, out, unique ] CLUSTER_DISKID
*pDiskId
,
2028 [ in, size_is(uniqueIdSize
), unique ] uint8
*pUniqueId
,
2029 [ in ] uint32 uniqueIdSize
,
2030 [ out, ref, string ] [charset
(UTF16
)] uint16
**ppszDeviceName
,
2031 [ out ] WERROR
*rpc_status
2035 [string] [charset
(UTF16
)] uint16
*pszNodeName
;
2038 [unique, size_is(ResultSize
)] uint8
*pResultData
;
2039 } CLUSTER_MRR_NODE_RESPONSE
;
2043 [size_is(NodeCount
)] CLUSTER_MRR_NODE_RESPONSE
*pNodes
;
2044 } CLUSTER_MRR_RESPONSE
;
2051 [ in ] HCLUSTER_RPC hCluster
,
2052 [ in ] boolean8 fExcludeSelf
,
2053 [ in ] hyper nodeSet
,
2054 [ in ] uint32 dwTimeout
,
2055 [ in ] uint32 dwComponent
,
2056 [ in ] uint32 dwControlCode
,
2057 [ in ] uint32 inSize
,
2058 [ in, unique, size_is(inSize
) ] uint8
*pInData
,
2059 [ out, ref, size_is(1, 1) ] CLUSTER_MRR_RESPONSE
**ppInfo
,
2060 [ out ] WERROR
*rpc_status
2067 clusapi_CreateGroupEnum
(
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 ] GROUP_ENUM_LIST
**ppResultList
,
2074 [ out ] WERROR
*rpc_status
2081 clusapi_CreateResourceEnum
(
2082 [ in ] HCLUSTER_RPC hCluster
,
2083 [ in, unique, size_is(cbProperties
)] uint8
* pProperties
,
2084 [ in ] uint32 cbProperties
,
2085 [ in, unique, size_is(cbRoProperties
)] uint8
* pRoProperties
,
2086 [ in ] uint32 cbRoProperties
,
2087 [ out ] RESOURCE_ENUM_LIST
**ppResultList
,
2088 [ out ] WERROR
*rpc_status
2095 clusapi_ExecuteReadBatch
(
2096 [ in ] HKEY_RPC hKey
,
2097 [ in ] uint32 cbInData
,
2098 [ in, size_is(cbInData
)] uint8
*lpInData
,
2099 [ out ] uint32
*cbOutData
,
2100 [ out, size_is(,*cbOutData
) ] uint8
** lpOutData
,
2101 [ out ] WERROR
*rpc_status
2108 clusapi_RestartResource
(
2109 [ in ] HRES_RPC hResource
,
2110 [ in ] uint32 dwFlags
,
2111 [ out ] WERROR
*rpc_status
2117 [string] [charset
(UTF16
)] uint16
*Name
;
2118 } NOTIFICATION_DATA_ASYNC_RPC
;
2124 clusapi_GetNotifyAsync
(
2125 [ in ] HNOTIFY_RPC hNotify
,
2126 [ out, size_is(,*dwNumNotifications
) ] NOTIFICATION_DATA_ASYNC_RPC
**Notifications
,
2127 [ out ] uint32
*dwNumNotifications
2131 DiskIdSignature
= 0x00000001,
2132 DiskIdGuid
= 0x00000002,
2133 DiskIdUnKnown
= 0x00001388
2134 } CLUSDSK_DISKID_ENUM
;
2138 CLUSDSK_DISKID_ENUM DiskIdType
;
2139 [switch_is(DiskIdType
)] union {
2140 [case(DiskIdSignature
)] uint32 DiskSignature
;
2141 [case(DiskIdGuid
)] GUID DiskGuid
;
2146 CLUSPROP_TYPE_ENDMARK
= 0x0000,
2147 CLUSPROP_TYPE_LIST_VALUE
= 0x0001,
2148 CLUSPROP_TYPE_RESCLASS
= 0x0002,
2149 CLUSPROP_TYPE_NAME
= 0x0004,
2150 CLUSPROP_TYPE_SIGNATURE
= 0x0005,
2151 CLUSPROP_TYPE_SCSIADDRESS
= 0x0006,
2152 CLUSPROP_TYPE_DISK_NUMBER
= 0x0007,
2153 CLUSPROP_TYPE_PARTITION_INFO
= 0x0008,
2154 CLUSPROP_TYPE_DISK_SERIALNUMBER
= 0x000a,
2155 CLUSPROP_TYPE_DISK_GUID
= 0x000b,
2156 CLUSPROP_TYPE_DISK_SIZE
= 0x000c,
2157 CLUSPROP_TYPE_PARTITION_INFO_EX
= 0x000d
2158 } CLUSTER_PROPERTY_TYPE
;
2161 CLUSPROP_FORMAT_UNKNOWN
= 0x0000,
2162 CLUSPROP_FORMAT_BINARY
= 0x0001,
2163 CLUSPROP_FORMAT_DWORD
= 0x0002,
2164 CLUSPROP_FORMAT_SZ
= 0x0003,
2165 CLUSPROP_FORMAT_EXPAND_SZ
= 0x0004,
2166 CLUSPROP_FORMAT_MULTI_SZ
= 0x0005,
2167 CLUSPROP_FORMAT_ULARGE_INTEGER
= 0x0006,
2168 CLUSPROP_FORMAT_LONG
= 0x0007,
2169 CLUSPROP_FORMAT_EXPANDED_SZ
= 0x0008,
2170 CLUSPROP_FORMAT_SECURITY_DESCRIPTOR
= 0x0009,
2171 CLUSPROP_FORMAT_LARGE_INTEGER
= 0x000a,
2172 CLUSPROP_FORMAT_WORD
= 0x000b,
2173 CLUSPROP_FORMAT_FILETIME
= 0x000c
2174 } CLUSTER_PROPERTY_FORMAT
;
2177 CLUSPROP_SYNTAX_ENDMARK
= 0x00000000,
2178 CLUSPROP_SYNTAX_NAME
= 0x00040003,
2179 CLUSPROP_SYNTAX_RESCLASS
= 0x00020002,
2180 CLUSPROP_SYNTAX_LIST_VALUE_SZ
= 0x00010003,
2181 CLUSPROP_SYNTAX_LIST_VALUE_EXPAND_SZ
= 0x00010004,
2182 CLUSPROP_SYNTAX_LIST_VALUE_DWORD
= 0x00010002,
2183 CLUSPROP_SYNTAX_LIST_VALUE_BINARY
= 0x00010001,
2184 CLUSPROP_SYNTAX_LIST_VALUE_MULTI_SZ
= 0x00010005,
2185 CLUSPROP_SYNTAX_LIST_VALUE_LONG
= 0x00010007,
2186 CLUSPROP_SYNTAX_LIST_VALUE_EXPANDED_SZ
= 0x00010008,
2187 CLUSPROP_SYNTAX_LIST_VALUE_SECURITY_DESCRIPTOR
= 0x00010009,
2188 CLUSPROP_SYNTAX_LIST_VALUE_LARGE_INTEGER
= 0x0001000a,
2189 CLUSPROP_SYNTAX_LIST_VALUE_ULARGE_INTEGER
= 0x00010006,
2190 CLUSPROP_SYNTAX_LIST_VALUE_WORD
= 0x0001000b,
2191 CLUSPROP_SYNTAX_LIST_VALUE_FILETIME
= 0x0001000c,
2192 CLUSPROP_SYNTAX_DISK_SIGNATURE
= 0x00050002,
2193 CLUSPROP_SYNTAX_SCSI_ADDRESS
= 0x00060002,
2194 CLUSPROP_SYNTAX_DISK_NUMBER
= 0x00070002,
2195 CLUSPROP_SYNTAX_PARTITION_INFO
= 0x00080001,
2196 CLUSPROP_SYNTAX_DISK_SERIALNUMBER
= 0x000a0003,
2197 CLUSPROP_SYNTAX_DISK_GUID
= 0x000b0003,
2198 CLUSPROP_SYNTAX_DISK_SIZE
= 0x000c0006,
2199 CLUSPROP_SYNTAX_PARTITION_INFO_EX
= 0x000d0001
2200 } CLUSTER_PROPERTY_SYNTAX
;
2203 CLUS_CHAR_UNKNOWN
= 0x00000000,
2204 CLUS_CHAR_QUORUM
= 0x00000001,
2205 CLUS_CHAR_DELETE_REQUIRES_ALL_NODES
= 0x00000002,
2206 CLUS_CHAR_LOCAL_QUORUM
= 0x00000004,
2207 CLUS_CHAR_BROADCAST_DELETE
= 0x00000020,
2208 CLUS_CHAR_SINGLE_CLUSTER_INSTANCE
= 0x00000040,
2209 CLUS_CHAR_SINGLE_GROUP_INSTANCE
= 0x00000080,
2210 CLUS_CHAR_COEXIST_IN_SHARED_VOLUME_GROUP
= 0x00000100,
2211 CLUS_CHAR_RESERVED1
= 0x00000200,
2212 CLUS_CHAR_MONITOR_DETACH
= 0x00000400,
2213 CLUS_CHAR_RESERVED2
= 0x00000800,
2214 CLUS_CHAR_RESERVED3
= 0x00001000,
2215 CLUS_CHAR_RESERVED4
= 0x00002000
2216 } CLUS_CHARACTERISTICS
;
2219 CLUS_FLAG_CORE
= 0x00000001
2223 MaintenanceModeTypeDisableIsAliveCheck
= 1,
2224 MaintenanceModeTypeOfflineResource
= 2,
2225 MaintenanceModeTypeUnclusterResource
= 3
2226 } MAINTENANCE_MODE_TYPE
;
2229 CLUSTER_CHANGE_NODE_STATE
= 0x00000001,
2230 CLUSTER_CHANGE_NODE_DELETED
= 0x00000002,
2231 CLUSTER_CHANGE_NODE_ADDED
= 0x00000004,
2232 CLUSTER_CHANGE_NODE_PROPERTY
= 0x00000008,
2233 CLUSTER_CHANGE_REGISTRY_NAME
= 0x00000010,
2234 CLUSTER_CHANGE_REGISTRY_ATTRIBUTES
= 0x00000020,
2235 CLUSTER_CHANGE_REGISTRY_VALUE
= 0x00000040,
2236 CLUSTER_CHANGE_REGISTRY_SUBTREE
= 0x00000080,
2237 CLUSTER_CHANGE_RESOURCE_STATE
= 0x00000100,
2238 CLUSTER_CHANGE_RESOURCE_DELETED
= 0x00000200,
2239 CLUSTER_CHANGE_RESOURCE_ADDED
= 0x00000400,
2240 CLUSTER_CHANGE_RESOURCE_PROPERTY
= 0x00000800,
2241 CLUSTER_CHANGE_GROUP_STATE
= 0x00001000,
2242 CLUSTER_CHANGE_GROUP_DELETED
= 0x00002000,
2243 CLUSTER_CHANGE_GROUP_ADDED
= 0x00004000,
2244 CLUSTER_CHANGE_GROUP_PROPERTY
= 0x00008000,
2245 CLUSTER_CHANGE_RESOURCE_TYPE_DELETED
= 0x00010000,
2246 CLUSTER_CHANGE_RESOURCE_TYPE_ADDED
= 0x00020000,
2247 CLUSTER_CHANGE_RESOURCE_TYPE_PROPERTY
= 0x00040000,
2248 CLUSTER_CHANGE_CLUSTER_RECONNECT
= 0x00080000,
2249 CLUSTER_CHANGE_NETWORK_STATE
= 0x00100000,
2250 CLUSTER_CHANGE_NETWORK_DELETED
= 0x00200000,
2251 CLUSTER_CHANGE_NETWORK_ADDED
= 0x00400000,
2252 CLUSTER_CHANGE_NETWORK_PROPERTY
= 0x00800000,
2253 CLUSTER_CHANGE_NETINTERFACE_STATE
= 0x01000000,
2254 CLUSTER_CHANGE_NETINTERFACE_DELETED
= 0x02000000,
2255 CLUSTER_CHANGE_NETINTERFACE_ADDED
= 0x04000000,
2256 CLUSTER_CHANGE_NETINTERFACE_PROPERTY
= 0x08000000,
2257 CLUSTER_CHANGE_QUORUM_STATE
= 0x10000000,
2258 CLUSTER_CHANGE_CLUSTER_STATE
= 0x20000000,
2259 CLUSTER_CHANGE_CLUSTER_PROPERTY
= 0x40000000,
2260 CLUSTER_CHANGE_HANDLE_CLOSE
= 0x80000000
2264 CLUSREG_SET_VALUE
= 1,
2265 CLUSREG_CREATE_KEY
= 2,
2266 CLUSREG_DELETE_KEY
= 3,
2267 CLUSREG_DELETE_VALUE
= 4,
2268 CLUSREG_VALUE_DELETED
= 6,
2269 CLUSREG_READ_KEY
= 7,
2270 CLUSREG_READ_VALUE
= 8,
2271 CLUSREG_READ_ERROR
= 9
2272 } CLUSTER_REG_BATCH_COMMAND
;
2275 IDL_CLUSTER_SET_PASSWORD_IGNORE_DOWN_NODES
= 1
2276 } IDL_CLUSTER_SET_PASSWORD_FLAGS
;
2279 CLUSTER_QUORUM_MAINTAINED
= 0,
2280 CLUSTER_QUORUM_LOST
= 1
2281 } CLUSTER_QUORUM_VALUE
;
2284 CLUSTER_OBJECT_TYPE_CLUSTER
= 0x00000001,
2285 CLUSTER_OBJECT_TYPE_GROUP
= 0x00000002,
2286 CLUSTER_OBJECT_TYPE_RESOURCE
= 0x00000003,
2287 CLUSTER_OBJECT_TYPE_RESOURCE_TYPE
= 0x00000004,
2288 CLUSTER_OBJECT_TYPE_NETWORK_INTERFACE
= 0x00000005,
2289 CLUSTER_OBJECT_TYPE_NETWORK
= 0x00000006,
2290 CLUSTER_OBJECT_TYPE_NODE
= 0x00000007,
2291 CLUSTER_OBJECT_TYPE_REGISTRY
= 0x00000008,
2292 CLUSTER_OBJECT_TYPE_QUORUM
= 0x00000009,
2293 CLUSTER_OBJECT_TYPE_SHARED_VOLUME
= 0x0000000a
2294 } CLUSTER_OBJECT_TYPE
;
2297 CLUSTER_CHANGE_CLUSTER_RECONNECT_V2
= 0x00000001,
2298 CLUSTER_CHANGE_CLUSTER_STATE_V2
= 0x00000002,
2299 CLUSTER_CHANGE_CLUSTER_GROUP_ADDED_V2
= 0x00000004,
2300 CLUSTER_CHANGE_CLUSTER_HANDLE_CLOSE_V2
= 0x00000008,
2301 CLUSTER_CHANGE_CLUSTER_NETWORK_ADDED_V2
= 0x00000010,
2302 CLUSTER_CHANGE_CLUSTER_NODE_ADDED_V2
= 0x00000020,
2303 CLUSTER_CHANGE_CLUSTER_RESOURCE_TYPE_ADDED_V2
= 0x00000040,
2304 CLUSTER_CHANGE_CLUSTER_COMMON_PROPERTY_V2
= 0x00000080,
2305 CLUSTER_CHANGE_CLUSTER_PRIVATE_PROPERTY_V2
= 0x00000100,
2306 CLUSTER_CHANGE_CLUSTER_LOST_NOTIFICATIONS_V2
= 0x00000200,
2307 CLUSTER_CHANGE_CLUSTER_RENAME_V2
= 0x00000400
2308 } CLUSTER_CHANGE_CLUSTER_V2
;
2311 CLUSTER_CHANGE_GROUP_DELETED_V2
= 0x00000001,
2312 CLUSTER_CHANGE_GROUP_COMMON_PROPERTY_V2
= 0x00000002,
2313 CLUSTER_CHANGE_GROUP_PRIVATE_PROPERTY_V2
= 0x00000004,
2314 CLUSTER_CHANGE_GROUP_STATE_V2
= 0x00000008,
2315 CLUSTER_CHANGE_GROUP_OWNER_NODE_V2
= 0x00000010,
2316 CLUSTER_CHANGE_GROUP_PREFERRED_OWNERS_V2
= 0x00000020,
2317 CLUSTER_CHANGE_GROUP_RESOURCE_ADDED_V2
= 0x00000040,
2318 CLUSTER_CHANGE_GROUP_RESOURCE_GAINED_V2
= 0x00000080,
2319 CLUSTER_CHANGE_GROUP_RESOURCE_LOST_V2
= 0x00000100,
2320 CLUSTER_CHANGE_GROUP_HANDLE_CLOSE_V2
= 0x00000200
2321 } CLUSTER_CHANGE_GROUP_V2
;
2324 CLUSTER_CHANGE_RESOURCE_COMMON_PROPERTY_V2
= 0x00000001,
2325 CLUSTER_CHANGE_RESOURCE_PRIVATE_PROPERTY_V2
= 0x00000002,
2326 CLUSTER_CHANGE_RESOURCE_STATE_V2
= 0x00000004,
2327 CLUSTER_CHANGE_RESOURCE_OWNER_GROUP_V2
= 0x00000008,
2328 CLUSTER_CHANGE_RESOURCE_DEPENDENCIES_V2
= 0x00000010,
2329 CLUSTER_CHANGE_RESOURCE_DEPENDENTS_V2
= 0x00000020,
2330 CLUSTER_CHANGE_RESOURCE_POSSIBLE_OWNERS_V2
= 0x00000040,
2331 CLUSTER_CHANGE_RESOURCE_DELETED_V2
= 0x00000080,
2332 CLUSTER_CHANGE_RESOURCE_DLL_UPGRADED_V2
= 0x00000100,
2333 CLUSTER_CHANGE_RESOURCE_HANDLE_CLOSE_V2
= 0x00000200
2334 } CLUSTER_CHANGE_RESOURCE_V2
;
2337 CLUSTER_CHANGE_RESOURCE_TYPE_DELETED_V2
= 0x00000001,
2338 CLUSTER_CHANGE_RESOURCE_TYPE_COMMON_PROPERTY_V2
= 0x00000002,
2339 CLUSTER_CHANGE_RESOURCE_TYPE_PRIVATE_PROPERTY_V2
= 0x00000004,
2340 CLUSTER_CHANGE_RESOURCE_TYPE_POSSIBLE_OWNERS_V2
= 0x00000008,
2341 CLUSTER_CHANGE_RESOURCE_TYPE_DLL_UPGRADED_V2
= 0x00000010
2342 } CHANGE_RESOURCE_TYPE_V2
;
2345 CLUSTER_CHANGE_NETINTERFACE_DELETED_V2
= 0x00000001,
2346 CLUSTER_CHANGE_NETINTERFACE_COMMON_PROPERTY_V2
= 0x00000002,
2347 CLUSTER_CHANGE_NETINTERFACE_PRIVATE_PROPERTY_V2
= 0x00000004,
2348 CLUSTER_CHANGE_NETINTERFACE_STATE_V2
= 0x00000008,
2349 CLUSTER_CHANGE_NETINTERFACE_HANDLE_CLOSE_V2
= 0x00000010
2350 } CLUSTER_CHANGE_NETINTERFACE_V2
;
2353 CLUSTER_CHANGE_NETWORK_DELETED_V2
= 0x00000001,
2354 CLUSTER_CHANGE_NETWORK_COMMON_PROPERTY_V2
= 0x00000002,
2355 CLUSTER_CHANGE_NETWORK_PRIVATE_PROPERTY_V2
= 0x00000004,
2356 CLUSTER_CHANGE_NETWORK_STATE_V2
= 0x00000008,
2357 CLUSTER_CHANGE_NETWORK_HANDLE_CLOSE_V2
= 0x00000010
2358 } CLUSTER_CHANGE_NETWORK_V2
;
2361 CLUSTER_CHANGE_NODE_NETINTERFACE_ADDED_V2
= 0x00000001,
2362 CLUSTER_CHANGE_NODE_DELETED_V2
= 0x00000002,
2363 CLUSTER_CHANGE_NODE_COMMON_PROPERTY_V2
= 0x00000004,
2364 CLUSTER_CHANGE_NODE_PRIVATE_PROPERTY_V2
= 0x00000008,
2365 CLUSTER_CHANGE_NODE_STATE_V2
= 0x00000010,
2366 CLUSTER_CHANGE_NODE_GROUP_GAINED_V2
= 0x00000020,
2367 CLUSTER_CHANGE_NODE_GROUP_LOST_V2
= 0x00000040,
2368 CLUSTER_CHANGE_NODE_HANDLE_CLOSE_V2
= 0x00000080
2369 } CLUSTER_CHANGE_NODE_V2
;
2372 CLUSTER_CHANGE_REGISTRY_ATTRIBUTES_V2
= 0x00000001,
2373 CLUSTER_CHANGE_REGISTRY_NAME_V2
= 0x00000002,
2374 CLUSTER_CHANGE_REGISTRY_SUBTREE_V2
= 0x00000004,
2375 CLUSTER_CHANGE_REGISTRY_VALUE_V2
= 0x00000008,
2376 CLUSTER_CHANGE_REGISTRY_HANDLE_CLOSE_V2
= 0x00000010
2377 } CLUSTER_CHANGE_REGISTRY_V2
;
2380 CLUSTER_CHANGE_QUORUM_STATE_V2
= 0x00000001
2381 } CLUSTER_CHANGE_QUORUM_V2
;
2384 CLUSTER_CHANGE_SHARED_VOLUME_STATE_V2
= 0x00000001
2385 } CLUSTER_CHANGE_SHARED_VOLUME_V2
;
2388 DiskIdSignature
= 0x00000001,
2389 DiskIdGuid
= 0x00000002,
2390 DiskIdUnKnown
= 0x00001388
2391 } CLUSDSK_DISKID_ENUM
;