1 import
"security.idl", "winreg.idl";
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 ] winreg_AccessMask samDesired
,
468 [ out ] WERROR
*Status
,
469 [ out ] WERROR
*rpc_status
474 [ in ] winreg_AccessMask samDesired
,
475 [ out ] WERROR
*Status
,
476 [ out ] WERROR
*rpc_status
,
477 [ out ] HKEY_RPC
*phKey
485 [ in ] HKEY_RPC hKey
,
486 [ in, string ] [charset
(UTF16
)] uint16
*lpSubKey
,
487 [ in ] uint32 dwOptions
,
488 [ in ] winreg_AccessMask samDesired
,
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 ] winreg_AccessMask 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 ] winreg_AccessMask samDesired
,
516 [ out ] WERROR
*Status
,
517 [ out ] WERROR
*rpc_status
522 [ in ] HKEY_RPC hKey
,
523 [ in, string ] [charset
(UTF16
)] uint16
*lpSubKey
,
524 [ in ] winreg_AccessMask samDesired
,
525 [ out ] WERROR
*Status
,
526 [ out ] WERROR
*rpc_status
,
527 [ out ] HKEY_RPC
*phKey
535 [ in ] HKEY_RPC hKey
,
536 [ in ] uint32 dwIndex
,
537 [ out, string ] [charset
(UTF16
)] uint16
**KeyName
,
538 [ out ] NTTIME
*lpftLastWriteTime
,
539 [ out ] WERROR
*rpc_status
547 [ in ] HKEY_RPC hKey
,
548 [ in, string ] [charset
(UTF16
)] uint16
*lpValueName
,
549 [ in ] 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
1510 typedef [v1_enum] enum {
1511 CLUSCTL_CLUSTER_UNKNOWN
= 0x07000000,
1512 CLUSCTL_CLUSTER_GET_FQDN
= 0x0700003D,
1513 CLUSCTL_CLUSTER_CHECK_VOTER_EVICT
= 0x07000045,
1514 CLUSCTL_CLUSTER_CHECK_VOTER_DOWN
= 0x07000049,
1515 CLUSCTL_CLUSTER_SHUTDOWN
= 0x0700004D,
1516 CLUSCTL_CLUSTER_ENUM_COMMON_PROPERTIES
= 0x07000051,
1517 CLUSCTL_CLUSTER_GET_RO_COMMON_PROPERTIES
= 0x07000055,
1518 CLUSCTL_CLUSTER_GET_COMMON_PROPERTIES
= 0x07000059,
1519 CLUSCTL_CLUSTER_SET_COMMON_PROPERTIES
= 0x0740005E,
1520 CLUSCTL_CLUSTER_VALIDATE_COMMON_PROPERTIES
= 0x07000061,
1521 CLUSCTL_CLUSTER_GET_COMMON_PROPERTY_FMTS
= 0x07000065,
1522 CLUSCTL_CLUSTER_ENUM_PRIVATE_PROPERTIES
= 0x07000079,
1523 CLUSCTL_CLUSTER_GET_RO_PRIVATE_PROPERTIES
= 0x0700007D,
1524 CLUSCTL_CLUSTER_GET_PRIVATE_PROPERTIES
= 0x07000081,
1525 CLUSCTL_CLUSTER_SET_PRIVATE_PROPERTIES
= 0x07400086,
1526 CLUSCTL_CLUSTER_VALIDATE_PRIVATE_PROPERTIES
= 0x07000089,
1527 CLUSCTL_CLUSTER_GET_SHARED_VOLUME_ID
= 0x07000291,
1528 CLUSCTL_CLUSTER_UPGRADE_CLUSTER_VERSION
= 0x074000ce,
1529 CLUSCTL_CLUSTER_CLEAR_UPGRADE_IN_PROGRESS
= 0x074000d2,
1530 CLUSCTL_CLUSTER_IS_READY_FOR_UPGRADE
= 0x070000d5
1531 } clusapi_ClusterControlCode
;
1534 clusapi_ClusterControl
(
1535 [ in ] HCLUSTER_RPC hCluster
,
1536 [ in ] clusapi_ClusterControlCode dwControlCode
,
1537 [ in, unique, size_is(nInBufferSize
) ] uint8
*lpInBuffer
,
1538 [ in ] uint32 nInBufferSize
,
1539 [ out, size_is(nOutBufferSize
),
1540 length_is (*lpBytesReturned
)] uint8
*lpOutBuffer
,
1541 [ in ] uint32 nOutBufferSize
,
1542 [ out ] uint32
*lpBytesReturned
,
1543 [ out ] uint32
*lpcbRequired
,
1544 [ out ] WERROR
*rpc_status
1551 clusapi_UnblockGetNotifyCall
(
1552 [ in ] HNOTIFY_RPC hNotify
1559 clusapi_SetServiceAccountPassword
(
1560 [ in, string ] [charset
(UTF16
)] uint16
*lpszNewPassword
,
1561 [ in ] IDL_CLUSTER_SET_PASSWORD_FLAGS dwFlags
,
1562 [ out, size_is(ReturnStatusBufferSize
), length_is(*SizeReturned
) ]
1563 IDL_CLUSTER_SET_PASSWORD_STATUS ReturnStatusBufferPtr
[*],
1564 [ in, range(0, (64 * 1024)) ] uint32 ReturnStatusBufferSize
,
1565 [ out ] uint32
*SizeReturned
,
1566 [ out ] uint32
*ExpectedBufferSize
1573 clusapi_SetResourceDependencyExpression
(
1574 [ in ] HRES_RPC hResource
,
1575 [ in, string, unique ] [charset
(UTF16
)] uint16
*lpszDependencyExpression
,
1576 [ out ] WERROR
*rpc_status
1583 clusapi_GetResourceDependencyExpression
(
1584 [ in ] HRES_RPC hResource
,
1585 [ out, string ] [charset
(UTF16
)] uint16
**lpszDependencyExpression
,
1586 [ out ] WERROR
*rpc_status
1593 Opnum111NotUsedOnWire
(void);
1599 clusapi_GetResourceNetworkName
(
1600 [ in ] HRES_RPC hResource
,
1601 [ out, string ] [charset
(UTF16
)] uint16
**lpszName
,
1602 [ out ] WERROR
*rpc_status
1609 clusapi_ExecuteBatch
(
1610 [ in ] HKEY_RPC hKey
,
1611 [ in ] uint32 cbData
,
1612 [ in, size_is(cbData
)] uint8
*lpData
,
1613 [ out ] int *pdwFailedCommand
,
1614 [ out ] WERROR
*rpc_status
1621 clusapi_CreateBatchPort
(
1622 [ in ] HKEY_RPC hKey
,
1623 [ out ] HBATCH_PORT_RPC
*phBatchPort
,
1624 [ out ] WERROR
*rpc_status
1631 clusapi_GetBatchNotification
(
1632 [ in ] HBATCH_PORT_RPC hBatchNotify
,
1633 [ out ] uint32
*cbData
,
1634 [ out, size_is(,*cbData
) ] uint8
** lpData
1641 clusapi_CloseBatchPort
(
1642 [ in, out ] HBATCH_PORT_RPC
*phBatchPort
1648 typedef [bitmap32bit
] bitmap
{
1649 CLUSAPI_READ_ACCESS
= 0x00000001,
1650 CLUSAPI_CHANGE_ACCESS
= 0x00000002,
1651 CLUSAPI_GENERIC_READ
= 0x80000000,
1652 CLUSAPI_GENERIC_WRITE
= 0x40000000,
1653 CLUSAPI_GENERIC_EXECUTE
= 0x20000000,
1654 CLUSAPI_GENERIC_ALL
= 0x10000000,
1655 CLUSAPI_MAXIMUM_ALLOWED
= 0x02000000
1656 } clusapi_DesiredAccessMask
;
1660 clusapi_OpenClusterEx
(
1661 [ in ] clusapi_DesiredAccessMask dwDesiredAccess
,
1662 [ out ] uint32
*lpdwGrantedAccess
,
1663 [ out ] WERROR
*Status
1667 clusapi_OpenClusterEx
(
1668 [ in ] clusapi_DesiredAccessMask dwDesiredAccess
,
1669 [ out ] uint32
*lpdwGrantedAccess
,
1670 [ out ] WERROR
*Status
,
1671 [ out ] HCLUSTER_RPC
*hCluster
1680 [ in, string ] [charset
(UTF16
)] uint16
*lpszNodeName
,
1681 [ in ] clusapi_DesiredAccessMask dwDesiredAccess
,
1682 [ out ] uint32
*lpdwGrantedAccess
,
1683 [ out ] WERROR
*Status
,
1684 [ out ] WERROR
*rpc_status
1689 [ in, string ] [charset
(UTF16
)] uint16
*lpszNodeName
,
1690 [ in ] clusapi_DesiredAccessMask dwDesiredAccess
,
1691 [ out ] uint32
*lpdwGrantedAccess
,
1692 [ out ] WERROR
*Status
,
1693 [ out ] WERROR
*rpc_status
,
1694 [ out ] HNODE_RPC
*hNode
1701 clusapi_OpenGroupEx
(
1702 [ in, string ] [charset
(UTF16
)] uint16
*lpszGroupName
,
1703 [ in ] clusapi_DesiredAccessMask dwDesiredAccess
,
1704 [ out ] uint32
*lpdwGrantedAccess
,
1705 [ out ] WERROR
*Status
,
1706 [ out ] WERROR
*rpc_status
1710 clusapi_OpenGroupEx
(
1711 [ in, string ] [charset
(UTF16
)] uint16
*lpszGroupName
,
1712 [ in ] clusapi_DesiredAccessMask dwDesiredAccess
,
1713 [ out ] uint32
*lpdwGrantedAccess
,
1714 [ out ] WERROR
*Status
,
1715 [ out ] WERROR
*rpc_status
,
1716 [ out ] HGROUP_RPC
*hGroup
1723 clusapi_OpenResourceEx
(
1724 [ in, string ] [charset
(UTF16
)] uint16
*lpszResourceName
,
1725 [ in ] clusapi_DesiredAccessMask dwDesiredAccess
,
1726 [ out ] uint32
*lpdwGrantedAccess
,
1727 [ out ] WERROR
*Status
,
1728 [ out ] WERROR
*rpc_status
1732 clusapi_OpenResourceEx
(
1733 [ in, string ] [charset
(UTF16
)] uint16
*lpszResourceName
,
1734 [ in ] clusapi_DesiredAccessMask dwDesiredAccess
,
1735 [ out ] uint32
*lpdwGrantedAccess
,
1736 [ out ] WERROR
*Status
,
1737 [ out ] WERROR
*rpc_status
,
1738 [ out ] HRES_RPC
*hResource
1745 clusapi_OpenNetworkEx
(
1746 [ in, string ] [charset
(UTF16
)] uint16
*lpszNetworkName
,
1747 [ in ] clusapi_DesiredAccessMask dwDesiredAccess
,
1748 [ out ] uint32
*lpdwGrantedAccess
,
1749 [ out ] WERROR
*Status
,
1750 [ out ] WERROR
*rpc_status
1754 clusapi_OpenNetworkEx
(
1755 [ in, string ] [charset
(UTF16
)] uint16
*lpszNetworkName
,
1756 [ in ] clusapi_DesiredAccessMask dwDesiredAccess
,
1757 [ out ] uint32
*lpdwGrantedAccess
,
1758 [ out ] WERROR
*Status
,
1759 [ out ] WERROR
*rpc_status
,
1760 [ out ] HNETWORK_RPC
*hNetwork
1767 clusapi_OpenNetInterfaceEx
(
1768 [ in, string ] [charset
(UTF16
)] uint16
*lpszNetInterfaceName
,
1769 [ in ] clusapi_DesiredAccessMask dwDesiredAccess
,
1770 [ out ] uint32
*lpdwGrantedAccess
,
1771 [ out ] WERROR
*Status
,
1772 [ out ] WERROR
*rpc_status
1776 clusapi_OpenNetInterfaceEx
(
1777 [ in, string ] [charset
(UTF16
)] uint16
*lpszNetInterfaceName
,
1778 [ in ] clusapi_DesiredAccessMask dwDesiredAccess
,
1779 [ out ] uint32
*lpdwGrantedAccess
,
1780 [ out ] WERROR
*Status
,
1781 [ out ] WERROR
*rpc_status
,
1782 [ out ] HNETINTERFACE_RPC
*hNetInterface
1789 clusapi_ChangeCsvState
(
1790 [ in ] HRES_RPC hResource
,
1791 [ in ] uint32 dwState
,
1792 [ out ] WERROR
*rpc_status
1799 clusapi_CreateNodeEnumEx
(
1800 [in] HNODE_RPC hNode
,
1802 [in] uint32 dwOptions
,
1803 [out] ENUM_LIST
**ReturnIdEnum
,
1804 [out] ENUM_LIST
**ReturnNameEnum
,
1805 [out] WERROR
* rpc_status
1812 clusapi_CreateEnumEx
(
1813 [in] HCLUSTER_RPC hCluster
,
1815 [in] uint32 dwOptions
,
1816 [out] ENUM_LIST
**ReturnIdEnum
,
1817 [out] ENUM_LIST
**ReturnNameEnum
,
1818 [out] WERROR
* rpc_status
1825 clusapi_PauseNodeEx
(
1826 [ in ] HNODE_RPC hNode
,
1827 [ in ] boolean8 bDrainNode
,
1828 [ in ] uint32 dwPauseFlags
,
1829 [ out ] WERROR
*rpc_status
1836 clusapi_PauseNodeWithDrainTarget
(
1837 [ in ] HNODE_RPC hNode
,
1838 [ in ] uint32 dwPauseFlags
,
1839 [ in ] HNODE_RPC hNodeDrainTarget
,
1840 [ out ] WERROR
*rpc_status
1847 clusapi_ResumeNodeEx
(
1848 [ in ] HNODE_RPC hNode
,
1849 [ in ] uint32 dwResumeFailbackType
,
1850 [ in ] uint32 dwResumeFlagsReserved
,
1851 [ out ] WERROR
*rpc_status
1858 clusapi_CreateGroupEx
(
1859 [ in, string ] [charset
(UTF16
)] uint16
*lpszGroupName
,
1860 [ in, unique ] CLUSTER_CREATE_GROUP_INFO_RPC
*pGroupInfo
,
1861 [ out ] WERROR
*Status
,
1862 [ out ] WERROR
*rpc_status
1866 clusapi_CreateGroupEx
(
1867 [ in, string ] [charset
(UTF16
)] uint16
*lpszGroupName
,
1868 [ in, unique ] CLUSTER_CREATE_GROUP_INFO_RPC
*pGroupInfo
,
1869 [ out ] WERROR
*Status
,
1870 [ out ] WERROR
*rpc_status
,
1871 [ out ] HGROUP_RPC
*hGroup
1878 clusapi_OnlineGroupEx
(
1879 [ in ] HGROUP_RPC hGroup
,
1880 [ in ] uint32 dwOnlineFlags
,
1881 [ in, size_is(cbInBufferSize
) ] uint8
* lpInBuffer
,
1882 [ in ] uint32 cbInBufferSize
,
1883 [ out ] WERROR
*rpc_status
1890 clusapi_OfflineGroupEx
(
1891 [ in ] HGROUP_RPC hGroup
,
1892 [ in ] uint32 dwOfflineFlags
,
1893 [ in, size_is(cbInBufferSize
) ] uint8
* lpInBuffer
,
1894 [ in ] uint32 cbInBufferSize
,
1895 [ out ] WERROR
*rpc_status
1902 clusapi_MoveGroupEx
(
1903 [ in ] HGROUP_RPC hGroup
,
1904 [ in ] uint32 dwMoveFlags
,
1905 [ in, size_is(cbInBufferSize
) ] uint8
* lpInBuffer
,
1906 [ in ] uint32 cbInBufferSize
,
1907 [ out ] WERROR
*rpc_status
1914 clusapi_MoveGroupToNodeEx
(
1915 [ in ] HGROUP_RPC hGroup
,
1916 [ in ] HNODE_RPC hNode
,
1917 [ in ] uint32 dwMoveFlags
,
1918 [ in, size_is(cbInBufferSize
) ] uint8
* lpInBuffer
,
1919 [ in ] uint32 cbInBufferSize
,
1920 [ out ] WERROR
*rpc_status
1927 clusapi_CancelClusterGroupOperation
(
1928 [ in ] HGROUP_RPC hGroup
,
1929 [ in ] uint32 dwCancelFlags
,
1930 [ out ] WERROR
*rpc_status
1937 clusapi_OnlineResourceEx
(
1938 [ in ] HRES_RPC hResource
,
1939 [ in ] uint32 dwOnlineFlags
,
1940 [ in, size_is(cbInBufferSize
) ] uint8
* lpInBuffer
,
1941 [ in ] uint32 cbInBufferSize
,
1942 [ out ] WERROR
*rpc_status
1949 clusapi_OfflineResourceEx
(
1950 [ in ] HRES_RPC hResource
,
1951 [ in ] uint32 dwOfflineFlags
,
1952 [ in, size_is(cbInBufferSize
) ] uint8
* lpInBuffer
,
1953 [ in ] uint32 cbInBufferSize
,
1954 [ out ] WERROR
*rpc_status
1957 #define HGENERIC_RPC policy_handle
1959 typedef [context_handle] void *HGENERIC_RPC
;
1963 uint32 dwObjectType
; // really of type CLUSTER_OBJECT_TYPE_RPC
1965 } NOTIFY_FILTER_AND_TYPE_RPC
;
1968 NOTIFY_FILTER_AND_TYPE_RPC FilterAndType
;
1969 [ size_is(dwBufferSize
) ] uint8
* buffer
;
1970 uint32 dwBufferSize
;
1971 [string] [charset
(UTF16
)] uint16
*ObjectId
;
1972 [string] [charset
(UTF16
)] uint16
*ParentId
;
1973 [string] [charset
(UTF16
)] uint16
*Name
;
1974 [string] [charset
(UTF16
)] uint16
*Type
;
1975 } NOTIFICATION_DATA_RPC
;
1978 uint32
*dwNotifyKey
;
1979 NOTIFICATION_DATA_RPC NotificationData
;
1986 // Notify interface V2 functions
1990 clusapi_CreateNotifyV2
(
1991 [ out ] WERROR
*rpc_error
,
1992 [ out ] WERROR
*rpc_status
1996 clusapi_CreateNotifyV2
(
1997 [ out ] WERROR
*rpc_error
,
1998 [ out ] WERROR
*rpc_status
,
1999 [ out ] HNOTIFY_RPC
*hNotify
2007 clusapi_AddNotifyV2
(
2008 [ in ] HNOTIFY_RPC hNotify
,
2009 [ in ] HGENERIC_RPC hObject
,
2010 [ in ] NOTIFY_FILTER_AND_TYPE_RPC filter
,
2011 [ in ] uint32 dwNotifyKey
,
2012 [ in ] uint32 dwVersion
,
2013 [ in ] boolean8 isTargetedAtObject
,
2014 [ out ] WERROR
*rpc_status
2021 clusapi_GetNotifyV2
(
2022 [ in ] HNOTIFY_RPC hNotify
,
2023 [ out, size_is(,*dwNumNotifications
) ] NOTIFICATION_RPC
**Notifications
,
2024 [ out ] uint32
*dwNumNotifications
2031 clusapi_QueryAllValues
(
2032 [ in ] HKEY_RPC hKey
,
2033 [ out ] uint32
*pcbData
,
2034 [ out, size_is(1, *pcbData
) ] uint8
** ppData
,
2035 [ out ] WERROR
*rpc_status
2040 uint8 DiskIdBlob
[16];
2047 clusapi_StmFindDisk
(
2048 [ in ] HCLUSTER_RPC hCluster
,
2049 [ in ] uint32 dwFlags
,
2050 [ in, out, unique ] CLUSTER_DISKID
*pDiskId
,
2051 [ in, size_is(uniqueIdSize
), unique ] uint8
*pUniqueId
,
2052 [ in ] uint32 uniqueIdSize
,
2053 [ out, ref, string ] [charset
(UTF16
)] uint16
**ppszDeviceName
,
2054 [ out ] WERROR
*rpc_status
2058 [string] [charset
(UTF16
)] uint16
*pszNodeName
;
2061 [unique, size_is(ResultSize
)] uint8
*pResultData
;
2062 } CLUSTER_MRR_NODE_RESPONSE
;
2066 [size_is(NodeCount
)] CLUSTER_MRR_NODE_RESPONSE
*pNodes
;
2067 } CLUSTER_MRR_RESPONSE
;
2074 [ in ] HCLUSTER_RPC hCluster
,
2075 [ in ] boolean8 fExcludeSelf
,
2076 [ in ] hyper nodeSet
,
2077 [ in ] uint32 dwTimeout
,
2078 [ in ] uint32 dwComponent
,
2079 [ in ] uint32 dwControlCode
,
2080 [ in ] uint32 inSize
,
2081 [ in, unique, size_is(inSize
) ] uint8
*pInData
,
2082 [ out, ref, size_is(1, 1) ] CLUSTER_MRR_RESPONSE
**ppInfo
,
2083 [ out ] WERROR
*rpc_status
2090 clusapi_CreateGroupEnum
(
2091 [ in ] HCLUSTER_RPC hCluster
,
2092 [ in, unique, size_is(cbProperties
)] uint8
* pProperties
,
2093 [ in ] uint32 cbProperties
,
2094 [ in, unique, size_is(cbRoProperties
)] uint8
* pRoProperties
,
2095 [ in ] uint32 cbRoProperties
,
2096 [ out ] GROUP_ENUM_LIST
**ppResultList
,
2097 [ out ] WERROR
*rpc_status
2104 clusapi_CreateResourceEnum
(
2105 [ in ] HCLUSTER_RPC hCluster
,
2106 [ in, unique, size_is(cbProperties
)] uint8
* pProperties
,
2107 [ in ] uint32 cbProperties
,
2108 [ in, unique, size_is(cbRoProperties
)] uint8
* pRoProperties
,
2109 [ in ] uint32 cbRoProperties
,
2110 [ out ] RESOURCE_ENUM_LIST
**ppResultList
,
2111 [ out ] WERROR
*rpc_status
2118 clusapi_ExecuteReadBatch
(
2119 [ in ] HKEY_RPC hKey
,
2120 [ in ] uint32 cbInData
,
2121 [ in, size_is(cbInData
)] uint8
*lpInData
,
2122 [ out ] uint32
*cbOutData
,
2123 [ out, size_is(,*cbOutData
) ] uint8
** lpOutData
,
2124 [ out ] WERROR
*rpc_status
2131 clusapi_RestartResource
(
2132 [ in ] HRES_RPC hResource
,
2133 [ in ] uint32 dwFlags
,
2134 [ out ] WERROR
*rpc_status
2140 [string] [charset
(UTF16
)] uint16
*Name
;
2141 } NOTIFICATION_DATA_ASYNC_RPC
;
2147 clusapi_GetNotifyAsync
(
2148 [ in ] HNOTIFY_RPC hNotify
,
2149 [ out, size_is(,*dwNumNotifications
) ] NOTIFICATION_DATA_ASYNC_RPC
**Notifications
,
2150 [ out ] uint32
*dwNumNotifications
2154 DiskIdSignature
= 0x00000001,
2155 DiskIdGuid
= 0x00000002,
2156 DiskIdUnKnown
= 0x00001388
2157 } CLUSDSK_DISKID_ENUM
;
2161 CLUSDSK_DISKID_ENUM DiskIdType
;
2162 [switch_is(DiskIdType
)] union {
2163 [case(DiskIdSignature
)] uint32 DiskSignature
;
2164 [case(DiskIdGuid
)] GUID DiskGuid
;
2169 CLUSPROP_TYPE_ENDMARK
= 0x0000,
2170 CLUSPROP_TYPE_LIST_VALUE
= 0x0001,
2171 CLUSPROP_TYPE_RESCLASS
= 0x0002,
2172 CLUSPROP_TYPE_NAME
= 0x0004,
2173 CLUSPROP_TYPE_SIGNATURE
= 0x0005,
2174 CLUSPROP_TYPE_SCSIADDRESS
= 0x0006,
2175 CLUSPROP_TYPE_DISK_NUMBER
= 0x0007,
2176 CLUSPROP_TYPE_PARTITION_INFO
= 0x0008,
2177 CLUSPROP_TYPE_DISK_SERIALNUMBER
= 0x000a,
2178 CLUSPROP_TYPE_DISK_GUID
= 0x000b,
2179 CLUSPROP_TYPE_DISK_SIZE
= 0x000c,
2180 CLUSPROP_TYPE_PARTITION_INFO_EX
= 0x000d
2181 } CLUSTER_PROPERTY_TYPE
;
2184 CLUSPROP_FORMAT_UNKNOWN
= 0x0000,
2185 CLUSPROP_FORMAT_BINARY
= 0x0001,
2186 CLUSPROP_FORMAT_DWORD
= 0x0002,
2187 CLUSPROP_FORMAT_SZ
= 0x0003,
2188 CLUSPROP_FORMAT_EXPAND_SZ
= 0x0004,
2189 CLUSPROP_FORMAT_MULTI_SZ
= 0x0005,
2190 CLUSPROP_FORMAT_ULARGE_INTEGER
= 0x0006,
2191 CLUSPROP_FORMAT_LONG
= 0x0007,
2192 CLUSPROP_FORMAT_EXPANDED_SZ
= 0x0008,
2193 CLUSPROP_FORMAT_SECURITY_DESCRIPTOR
= 0x0009,
2194 CLUSPROP_FORMAT_LARGE_INTEGER
= 0x000a,
2195 CLUSPROP_FORMAT_WORD
= 0x000b,
2196 CLUSPROP_FORMAT_FILETIME
= 0x000c
2197 } CLUSTER_PROPERTY_FORMAT
;
2200 CLUSPROP_SYNTAX_ENDMARK
= 0x00000000,
2201 CLUSPROP_SYNTAX_NAME
= 0x00040003,
2202 CLUSPROP_SYNTAX_RESCLASS
= 0x00020002,
2203 CLUSPROP_SYNTAX_LIST_VALUE_SZ
= 0x00010003,
2204 CLUSPROP_SYNTAX_LIST_VALUE_EXPAND_SZ
= 0x00010004,
2205 CLUSPROP_SYNTAX_LIST_VALUE_DWORD
= 0x00010002,
2206 CLUSPROP_SYNTAX_LIST_VALUE_BINARY
= 0x00010001,
2207 CLUSPROP_SYNTAX_LIST_VALUE_MULTI_SZ
= 0x00010005,
2208 CLUSPROP_SYNTAX_LIST_VALUE_LONG
= 0x00010007,
2209 CLUSPROP_SYNTAX_LIST_VALUE_EXPANDED_SZ
= 0x00010008,
2210 CLUSPROP_SYNTAX_LIST_VALUE_SECURITY_DESCRIPTOR
= 0x00010009,
2211 CLUSPROP_SYNTAX_LIST_VALUE_LARGE_INTEGER
= 0x0001000a,
2212 CLUSPROP_SYNTAX_LIST_VALUE_ULARGE_INTEGER
= 0x00010006,
2213 CLUSPROP_SYNTAX_LIST_VALUE_WORD
= 0x0001000b,
2214 CLUSPROP_SYNTAX_LIST_VALUE_FILETIME
= 0x0001000c,
2215 CLUSPROP_SYNTAX_DISK_SIGNATURE
= 0x00050002,
2216 CLUSPROP_SYNTAX_SCSI_ADDRESS
= 0x00060002,
2217 CLUSPROP_SYNTAX_DISK_NUMBER
= 0x00070002,
2218 CLUSPROP_SYNTAX_PARTITION_INFO
= 0x00080001,
2219 CLUSPROP_SYNTAX_DISK_SERIALNUMBER
= 0x000a0003,
2220 CLUSPROP_SYNTAX_DISK_GUID
= 0x000b0003,
2221 CLUSPROP_SYNTAX_DISK_SIZE
= 0x000c0006,
2222 CLUSPROP_SYNTAX_PARTITION_INFO_EX
= 0x000d0001
2223 } CLUSTER_PROPERTY_SYNTAX
;
2226 CLUS_CHAR_UNKNOWN
= 0x00000000,
2227 CLUS_CHAR_QUORUM
= 0x00000001,
2228 CLUS_CHAR_DELETE_REQUIRES_ALL_NODES
= 0x00000002,
2229 CLUS_CHAR_LOCAL_QUORUM
= 0x00000004,
2230 CLUS_CHAR_BROADCAST_DELETE
= 0x00000020,
2231 CLUS_CHAR_SINGLE_CLUSTER_INSTANCE
= 0x00000040,
2232 CLUS_CHAR_SINGLE_GROUP_INSTANCE
= 0x00000080,
2233 CLUS_CHAR_COEXIST_IN_SHARED_VOLUME_GROUP
= 0x00000100,
2234 CLUS_CHAR_RESERVED1
= 0x00000200,
2235 CLUS_CHAR_MONITOR_DETACH
= 0x00000400,
2236 CLUS_CHAR_RESERVED2
= 0x00000800,
2237 CLUS_CHAR_RESERVED3
= 0x00001000,
2238 CLUS_CHAR_RESERVED4
= 0x00002000
2239 } CLUS_CHARACTERISTICS
;
2242 CLUS_FLAG_CORE
= 0x00000001
2246 MaintenanceModeTypeDisableIsAliveCheck
= 1,
2247 MaintenanceModeTypeOfflineResource
= 2,
2248 MaintenanceModeTypeUnclusterResource
= 3
2249 } MAINTENANCE_MODE_TYPE
;
2252 CLUSTER_CHANGE_NODE_STATE
= 0x00000001,
2253 CLUSTER_CHANGE_NODE_DELETED
= 0x00000002,
2254 CLUSTER_CHANGE_NODE_ADDED
= 0x00000004,
2255 CLUSTER_CHANGE_NODE_PROPERTY
= 0x00000008,
2256 CLUSTER_CHANGE_REGISTRY_NAME
= 0x00000010,
2257 CLUSTER_CHANGE_REGISTRY_ATTRIBUTES
= 0x00000020,
2258 CLUSTER_CHANGE_REGISTRY_VALUE
= 0x00000040,
2259 CLUSTER_CHANGE_REGISTRY_SUBTREE
= 0x00000080,
2260 CLUSTER_CHANGE_RESOURCE_STATE
= 0x00000100,
2261 CLUSTER_CHANGE_RESOURCE_DELETED
= 0x00000200,
2262 CLUSTER_CHANGE_RESOURCE_ADDED
= 0x00000400,
2263 CLUSTER_CHANGE_RESOURCE_PROPERTY
= 0x00000800,
2264 CLUSTER_CHANGE_GROUP_STATE
= 0x00001000,
2265 CLUSTER_CHANGE_GROUP_DELETED
= 0x00002000,
2266 CLUSTER_CHANGE_GROUP_ADDED
= 0x00004000,
2267 CLUSTER_CHANGE_GROUP_PROPERTY
= 0x00008000,
2268 CLUSTER_CHANGE_RESOURCE_TYPE_DELETED
= 0x00010000,
2269 CLUSTER_CHANGE_RESOURCE_TYPE_ADDED
= 0x00020000,
2270 CLUSTER_CHANGE_RESOURCE_TYPE_PROPERTY
= 0x00040000,
2271 CLUSTER_CHANGE_CLUSTER_RECONNECT
= 0x00080000,
2272 CLUSTER_CHANGE_NETWORK_STATE
= 0x00100000,
2273 CLUSTER_CHANGE_NETWORK_DELETED
= 0x00200000,
2274 CLUSTER_CHANGE_NETWORK_ADDED
= 0x00400000,
2275 CLUSTER_CHANGE_NETWORK_PROPERTY
= 0x00800000,
2276 CLUSTER_CHANGE_NETINTERFACE_STATE
= 0x01000000,
2277 CLUSTER_CHANGE_NETINTERFACE_DELETED
= 0x02000000,
2278 CLUSTER_CHANGE_NETINTERFACE_ADDED
= 0x04000000,
2279 CLUSTER_CHANGE_NETINTERFACE_PROPERTY
= 0x08000000,
2280 CLUSTER_CHANGE_QUORUM_STATE
= 0x10000000,
2281 CLUSTER_CHANGE_CLUSTER_STATE
= 0x20000000,
2282 CLUSTER_CHANGE_CLUSTER_PROPERTY
= 0x40000000,
2283 CLUSTER_CHANGE_HANDLE_CLOSE
= 0x80000000
2287 CLUSREG_SET_VALUE
= 1,
2288 CLUSREG_CREATE_KEY
= 2,
2289 CLUSREG_DELETE_KEY
= 3,
2290 CLUSREG_DELETE_VALUE
= 4,
2291 CLUSREG_VALUE_DELETED
= 6,
2292 CLUSREG_READ_KEY
= 7,
2293 CLUSREG_READ_VALUE
= 8,
2294 CLUSREG_READ_ERROR
= 9
2295 } CLUSTER_REG_BATCH_COMMAND
;
2298 IDL_CLUSTER_SET_PASSWORD_IGNORE_DOWN_NODES
= 1
2299 } IDL_CLUSTER_SET_PASSWORD_FLAGS
;
2302 CLUSTER_QUORUM_MAINTAINED
= 0,
2303 CLUSTER_QUORUM_LOST
= 1
2304 } CLUSTER_QUORUM_VALUE
;
2307 CLUSTER_OBJECT_TYPE_CLUSTER
= 0x00000001,
2308 CLUSTER_OBJECT_TYPE_GROUP
= 0x00000002,
2309 CLUSTER_OBJECT_TYPE_RESOURCE
= 0x00000003,
2310 CLUSTER_OBJECT_TYPE_RESOURCE_TYPE
= 0x00000004,
2311 CLUSTER_OBJECT_TYPE_NETWORK_INTERFACE
= 0x00000005,
2312 CLUSTER_OBJECT_TYPE_NETWORK
= 0x00000006,
2313 CLUSTER_OBJECT_TYPE_NODE
= 0x00000007,
2314 CLUSTER_OBJECT_TYPE_REGISTRY
= 0x00000008,
2315 CLUSTER_OBJECT_TYPE_QUORUM
= 0x00000009,
2316 CLUSTER_OBJECT_TYPE_SHARED_VOLUME
= 0x0000000a
2317 } CLUSTER_OBJECT_TYPE
;
2320 CLUSTER_CHANGE_CLUSTER_RECONNECT_V2
= 0x00000001,
2321 CLUSTER_CHANGE_CLUSTER_STATE_V2
= 0x00000002,
2322 CLUSTER_CHANGE_CLUSTER_GROUP_ADDED_V2
= 0x00000004,
2323 CLUSTER_CHANGE_CLUSTER_HANDLE_CLOSE_V2
= 0x00000008,
2324 CLUSTER_CHANGE_CLUSTER_NETWORK_ADDED_V2
= 0x00000010,
2325 CLUSTER_CHANGE_CLUSTER_NODE_ADDED_V2
= 0x00000020,
2326 CLUSTER_CHANGE_CLUSTER_RESOURCE_TYPE_ADDED_V2
= 0x00000040,
2327 CLUSTER_CHANGE_CLUSTER_COMMON_PROPERTY_V2
= 0x00000080,
2328 CLUSTER_CHANGE_CLUSTER_PRIVATE_PROPERTY_V2
= 0x00000100,
2329 CLUSTER_CHANGE_CLUSTER_LOST_NOTIFICATIONS_V2
= 0x00000200,
2330 CLUSTER_CHANGE_CLUSTER_RENAME_V2
= 0x00000400
2331 } CLUSTER_CHANGE_CLUSTER_V2
;
2334 CLUSTER_CHANGE_GROUP_DELETED_V2
= 0x00000001,
2335 CLUSTER_CHANGE_GROUP_COMMON_PROPERTY_V2
= 0x00000002,
2336 CLUSTER_CHANGE_GROUP_PRIVATE_PROPERTY_V2
= 0x00000004,
2337 CLUSTER_CHANGE_GROUP_STATE_V2
= 0x00000008,
2338 CLUSTER_CHANGE_GROUP_OWNER_NODE_V2
= 0x00000010,
2339 CLUSTER_CHANGE_GROUP_PREFERRED_OWNERS_V2
= 0x00000020,
2340 CLUSTER_CHANGE_GROUP_RESOURCE_ADDED_V2
= 0x00000040,
2341 CLUSTER_CHANGE_GROUP_RESOURCE_GAINED_V2
= 0x00000080,
2342 CLUSTER_CHANGE_GROUP_RESOURCE_LOST_V2
= 0x00000100,
2343 CLUSTER_CHANGE_GROUP_HANDLE_CLOSE_V2
= 0x00000200
2344 } CLUSTER_CHANGE_GROUP_V2
;
2347 CLUSTER_CHANGE_RESOURCE_COMMON_PROPERTY_V2
= 0x00000001,
2348 CLUSTER_CHANGE_RESOURCE_PRIVATE_PROPERTY_V2
= 0x00000002,
2349 CLUSTER_CHANGE_RESOURCE_STATE_V2
= 0x00000004,
2350 CLUSTER_CHANGE_RESOURCE_OWNER_GROUP_V2
= 0x00000008,
2351 CLUSTER_CHANGE_RESOURCE_DEPENDENCIES_V2
= 0x00000010,
2352 CLUSTER_CHANGE_RESOURCE_DEPENDENTS_V2
= 0x00000020,
2353 CLUSTER_CHANGE_RESOURCE_POSSIBLE_OWNERS_V2
= 0x00000040,
2354 CLUSTER_CHANGE_RESOURCE_DELETED_V2
= 0x00000080,
2355 CLUSTER_CHANGE_RESOURCE_DLL_UPGRADED_V2
= 0x00000100,
2356 CLUSTER_CHANGE_RESOURCE_HANDLE_CLOSE_V2
= 0x00000200
2357 } CLUSTER_CHANGE_RESOURCE_V2
;
2360 CLUSTER_CHANGE_RESOURCE_TYPE_DELETED_V2
= 0x00000001,
2361 CLUSTER_CHANGE_RESOURCE_TYPE_COMMON_PROPERTY_V2
= 0x00000002,
2362 CLUSTER_CHANGE_RESOURCE_TYPE_PRIVATE_PROPERTY_V2
= 0x00000004,
2363 CLUSTER_CHANGE_RESOURCE_TYPE_POSSIBLE_OWNERS_V2
= 0x00000008,
2364 CLUSTER_CHANGE_RESOURCE_TYPE_DLL_UPGRADED_V2
= 0x00000010
2365 } CHANGE_RESOURCE_TYPE_V2
;
2368 CLUSTER_CHANGE_NETINTERFACE_DELETED_V2
= 0x00000001,
2369 CLUSTER_CHANGE_NETINTERFACE_COMMON_PROPERTY_V2
= 0x00000002,
2370 CLUSTER_CHANGE_NETINTERFACE_PRIVATE_PROPERTY_V2
= 0x00000004,
2371 CLUSTER_CHANGE_NETINTERFACE_STATE_V2
= 0x00000008,
2372 CLUSTER_CHANGE_NETINTERFACE_HANDLE_CLOSE_V2
= 0x00000010
2373 } CLUSTER_CHANGE_NETINTERFACE_V2
;
2376 CLUSTER_CHANGE_NETWORK_DELETED_V2
= 0x00000001,
2377 CLUSTER_CHANGE_NETWORK_COMMON_PROPERTY_V2
= 0x00000002,
2378 CLUSTER_CHANGE_NETWORK_PRIVATE_PROPERTY_V2
= 0x00000004,
2379 CLUSTER_CHANGE_NETWORK_STATE_V2
= 0x00000008,
2380 CLUSTER_CHANGE_NETWORK_HANDLE_CLOSE_V2
= 0x00000010
2381 } CLUSTER_CHANGE_NETWORK_V2
;
2384 CLUSTER_CHANGE_NODE_NETINTERFACE_ADDED_V2
= 0x00000001,
2385 CLUSTER_CHANGE_NODE_DELETED_V2
= 0x00000002,
2386 CLUSTER_CHANGE_NODE_COMMON_PROPERTY_V2
= 0x00000004,
2387 CLUSTER_CHANGE_NODE_PRIVATE_PROPERTY_V2
= 0x00000008,
2388 CLUSTER_CHANGE_NODE_STATE_V2
= 0x00000010,
2389 CLUSTER_CHANGE_NODE_GROUP_GAINED_V2
= 0x00000020,
2390 CLUSTER_CHANGE_NODE_GROUP_LOST_V2
= 0x00000040,
2391 CLUSTER_CHANGE_NODE_HANDLE_CLOSE_V2
= 0x00000080
2392 } CLUSTER_CHANGE_NODE_V2
;
2395 CLUSTER_CHANGE_REGISTRY_ATTRIBUTES_V2
= 0x00000001,
2396 CLUSTER_CHANGE_REGISTRY_NAME_V2
= 0x00000002,
2397 CLUSTER_CHANGE_REGISTRY_SUBTREE_V2
= 0x00000004,
2398 CLUSTER_CHANGE_REGISTRY_VALUE_V2
= 0x00000008,
2399 CLUSTER_CHANGE_REGISTRY_HANDLE_CLOSE_V2
= 0x00000010
2400 } CLUSTER_CHANGE_REGISTRY_V2
;
2403 CLUSTER_CHANGE_QUORUM_STATE_V2
= 0x00000001
2404 } CLUSTER_CHANGE_QUORUM_V2
;
2407 CLUSTER_CHANGE_SHARED_VOLUME_STATE_V2
= 0x00000001
2408 } CLUSTER_CHANGE_SHARED_VOLUME_V2
;
2411 DiskIdSignature
= 0x00000001,
2412 DiskIdGuid
= 0x00000002,
2413 DiskIdUnKnown
= 0x00001388
2414 } CLUSDSK_DISKID_ENUM
;