| clusapi.h (6.3.9600.17415-Windows 8.1) | | clusapi.h (10.0.10586.0-Windows 10 1511 10586.494) |
| | |
| skipping to change at line 22 | | skipping to change at line 22 |
| This module defines the common management and application interface to | | This module defines the common management and application interface to |
| the Microsoft Cluster Server services. | | the Microsoft Cluster Server services. |
| | |
| Revision History: | | Revision History: |
| | |
| --*/ | | --*/ |
| | |
| #ifndef _CLUSTER_API_ | | #ifndef _CLUSTER_API_ |
| #define _CLUSTER_API_ | | #define _CLUSTER_API_ |
| | |
|
| | #include <winerror.h> |
| | |
| #if _MSC_VER > 1000 | | #if _MSC_VER > 1000 |
| #pragma once | | #pragma once |
| #endif | | #endif |
| #include <winapifamily.h> | | #include <winapifamily.h> |
| | |
|
| #pragma region Desktop Family | | #pragma region Desktop Family or FailoverCluster Package |
| #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) | | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_CLUS |
| | TER) |
| | |
| #define CLUSAPI_VERSION_SERVER2008 0x00000600 | | #define CLUSAPI_VERSION_SERVER2008 0x00000600 |
| #define CLUSAPI_VERSION_SERVER2008R2 0x00000700 | | #define CLUSAPI_VERSION_SERVER2008R2 0x00000700 |
| #define CLUSAPI_VERSION_WINDOWS8 0x00000701 | | #define CLUSAPI_VERSION_WINDOWS8 0x00000701 |
| #define CLUSAPI_VERSION_WINDOWSBLUE 0x00000702 | | #define CLUSAPI_VERSION_WINDOWSBLUE 0x00000702 |
|
| | #define CLUSAPI_VERSION_WINTHRESHOLD 0x00000703 |
| | |
| #if (!defined(CLUSAPI_VERSION)) | | #if (!defined(CLUSAPI_VERSION)) |
|
| #if (!defined(NTDDI_VERSION) || (NTDDI_VERSION >= NTDDI_WINBLUE)) | | #if (!defined(NTDDI_VERSION) || (NTDDI_VERSION >= NTDDI_WINTHRESHOLD)) |
| | #define CLUSAPI_VERSION CLUSAPI_VERSION_WINTHRESHOLD |
| | #elif (NTDDI_VERSION >= NTDDI_WINBLUE) |
| #define CLUSAPI_VERSION CLUSAPI_VERSION_WINDOWSBLUE | | #define CLUSAPI_VERSION CLUSAPI_VERSION_WINDOWSBLUE |
| #elif (NTDDI_VERSION >= NTDDI_WIN8) | | #elif (NTDDI_VERSION >= NTDDI_WIN8) |
| #define CLUSAPI_VERSION CLUSAPI_VERSION_WINDOWS8 | | #define CLUSAPI_VERSION CLUSAPI_VERSION_WINDOWS8 |
| #elif (NTDDI_VERSION >= NTDDI_WIN7) | | #elif (NTDDI_VERSION >= NTDDI_WIN7) |
| #define CLUSAPI_VERSION CLUSAPI_VERSION_SERVER2008R2 | | #define CLUSAPI_VERSION CLUSAPI_VERSION_SERVER2008R2 |
| #else | | #else |
| #define CLUSAPI_VERSION CLUSAPI_VERSION_SERVER2008 | | #define CLUSAPI_VERSION CLUSAPI_VERSION_SERVER2008 |
| #endif | | #endif |
| #endif // !defined(CLUSAPI_VERSION) | | #endif // !defined(CLUSAPI_VERSION) |
| | |
| | |
| skipping to change at line 159 | | skipping to change at line 164 |
| | |
| // these defines represent cluster numbers, not windows OS numbers | | // these defines represent cluster numbers, not windows OS numbers |
| #define NT4_MAJOR_VERSION 1 | | #define NT4_MAJOR_VERSION 1 |
| #define NT4SP4_MAJOR_VERSION 2 | | #define NT4SP4_MAJOR_VERSION 2 |
| #define NT5_MAJOR_VERSION 3 | | #define NT5_MAJOR_VERSION 3 |
| #define NT51_MAJOR_VERSION 4 | | #define NT51_MAJOR_VERSION 4 |
| #define NT6_MAJOR_VERSION 5 | | #define NT6_MAJOR_VERSION 5 |
| #define NT7_MAJOR_VERSION 6 | | #define NT7_MAJOR_VERSION 6 |
| #define NT8_MAJOR_VERSION 7 | | #define NT8_MAJOR_VERSION 7 |
| #define NT9_MAJOR_VERSION 8 | | #define NT9_MAJOR_VERSION 8 |
|
| | #define NT10_MAJOR_VERSION 9 |
| | |
| // | | // |
| // Version number macros | | // Version number macros |
| // | | // |
| | |
| #define CLUSTER_MAKE_VERSION( _maj, _min ) ((( _maj ) << 16 ) | ( _min )) | | #define CLUSTER_MAKE_VERSION( _maj, _min ) ((( _maj ) << 16 ) | ( _min )) |
| #define CLUSTER_GET_MAJOR_VERSION( _ver ) (( _ver ) >> 16 ) | | #define CLUSTER_GET_MAJOR_VERSION( _ver ) (( _ver ) >> 16 ) |
| #define CLUSTER_GET_MINOR_VERSION( _ver ) (( _ver ) & 0xFFFF ) | | #define CLUSTER_GET_MINOR_VERSION( _ver ) (( _ver ) & 0xFFFF ) |
| | |
| #endif // MIDL_PASS | | #endif // MIDL_PASS |
| | |
| skipping to change at line 223 | | skipping to change at line 229 |
| CLUSREG_VALUE_DELETED, | | CLUSREG_VALUE_DELETED, |
| | |
| // Commands for read batch | | // Commands for read batch |
| CLUSREG_READ_KEY, | | CLUSREG_READ_KEY, |
| CLUSREG_READ_VALUE, | | CLUSREG_READ_VALUE, |
| CLUSREG_READ_ERROR, | | CLUSREG_READ_ERROR, |
| | |
| // Control command | | // Control command |
| CLUSREG_CONTROL_COMMAND, | | CLUSREG_CONTROL_COMMAND, |
| | |
|
| | // Write conditions |
| | CLUSREG_CONDITION_EXISTS, |
| | CLUSREG_CONDITION_NOT_EXISTS, |
| | CLUSREG_CONDITION_IS_EQUAL, |
| | CLUSREG_CONDITION_IS_NOT_EQUAL, |
| | CLUSREG_CONDITION_IS_GREATER_THAN, |
| | CLUSREG_CONDITION_IS_LESS_THAN, |
| | CLUSREG_CONDITION_KEY_EXISTS, |
| | CLUSREG_CONDITION_KEY_NOT_EXISTS, |
| | |
| CLUSREG_LAST_COMMAND | | CLUSREG_LAST_COMMAND |
| | |
| } CLUSTER_REG_COMMAND; | | } CLUSTER_REG_COMMAND; |
| | |
|
| #define CLUSREG_DATABASE_SYNC_WRITE_TO_ALL_NODES 1 | | #define CLUSREG_DATABASE_SYNC_WRITE_TO_ALL_NODES 1 |
| | #define CLUSREG_DATABASE_ISOLATE_READ 2 |
| | |
| #if ( !MIDL_PASS && !__midl ) | | #if ( !MIDL_PASS && !__midl ) |
| | |
| typedef struct _CLUSCTL_RESOURCE_STATE_CHANGE_REASON_STRUCT { | | typedef struct _CLUSCTL_RESOURCE_STATE_CHANGE_REASON_STRUCT { |
| DWORD dwSize; | | DWORD dwSize; |
| DWORD dwVersion; | | DWORD dwVersion; |
| CLUSTER_RESOURCE_STATE_CHANGE_REASON eReason; | | CLUSTER_RESOURCE_STATE_CHANGE_REASON eReason; |
| } CLUSCTL_RESOURCE_STATE_CHANGE_REASON_STRUCT, *PCLUSCTL_RESOURCE_STATE_CHANGE_R
EASON_STRUCT; | | } CLUSCTL_RESOURCE_STATE_CHANGE_REASON_STRUCT, *PCLUSCTL_RESOURCE_STATE_CHANGE_R
EASON_STRUCT; |
| | |
| typedef struct _CLUSTER_BATCH_COMMAND | | typedef struct _CLUSTER_BATCH_COMMAND |
| | |
| skipping to change at line 298 | | skipping to change at line 315 |
| ClusGroupTypeGenericService = 108, | | ClusGroupTypeGenericService = 108, |
| ClusGroupTypeGenericScript = 109, | | ClusGroupTypeGenericScript = 109, |
| ClusGroupTypeIScsiNameService = 110, | | ClusGroupTypeIScsiNameService = 110, |
| ClusGroupTypeVirtualMachine = 111, | | ClusGroupTypeVirtualMachine = 111, |
| ClusGroupTypeTsSessionBroker = 112, | | ClusGroupTypeTsSessionBroker = 112, |
| ClusGroupTypeIScsiTarget = 113, | | ClusGroupTypeIScsiTarget = 113, |
| ClusGroupTypeScaleoutFileServer = 114, | | ClusGroupTypeScaleoutFileServer = 114, |
| ClusGroupTypeVMReplicaBroker = 115, | | ClusGroupTypeVMReplicaBroker = 115, |
| ClusGroupTypeTaskScheduler = 116, | | ClusGroupTypeTaskScheduler = 116, |
| ClusGroupTypeClusterUpdateAgent = 117, | | ClusGroupTypeClusterUpdateAgent = 117, |
|
| | ClusGroupTypeScaleoutCluster = 118, |
| | ClusGroupTypeStorageReplica = 119, |
| | ClusGroupTypeVMReplicaCoordinator = 120, |
| ClusGroupTypeUnknown = 9999 | | ClusGroupTypeUnknown = 9999 |
| } CLUSGROUP_TYPE, *PCLUSGROUP_TYPE; | | } CLUSGROUP_TYPE, *PCLUSGROUP_TYPE; |
| | |
| #if CLUSAPI_VERSION >= CLUSAPI_VERSION_WINDOWS8 | | #if CLUSAPI_VERSION >= CLUSAPI_VERSION_WINDOWS8 |
| | |
| #define CLUSTER_CREATE_GROUP_INFO_VERSION_1 0x00000001 | | #define CLUSTER_CREATE_GROUP_INFO_VERSION_1 0x00000001 |
| #define CLUSTER_CREATE_GROUP_INFO_VERSION CLUSTER_CREATE_GROUP_INFO_VERSION_1 | | #define CLUSTER_CREATE_GROUP_INFO_VERSION CLUSTER_CREATE_GROUP_INFO_VERSION_1 |
| | |
| typedef struct _CLUSTER_CREATE_GROUP_INFO { | | typedef struct _CLUSTER_CREATE_GROUP_INFO { |
| DWORD dwVersion; | | DWORD dwVersion; |
| CLUSGROUP_TYPE groupType; | | CLUSGROUP_TYPE groupType; |
| }CLUSTER_CREATE_GROUP_INFO, *PCLUSTER_CREATE_GROUP_INFO; | | }CLUSTER_CREATE_GROUP_INFO, *PCLUSTER_CREATE_GROUP_INFO; |
| #endif | | #endif |
| | |
| typedef enum | | typedef enum |
| { | | { |
| CLUSTER_MGMT_POINT_TYPE_NONE = 0, | | CLUSTER_MGMT_POINT_TYPE_NONE = 0, |
| CLUSTER_MGMT_POINT_TYPE_CNO, | | CLUSTER_MGMT_POINT_TYPE_CNO, |
|
| CLUSTER_MGMT_POINT_TYPE_DNS_ONLY | | CLUSTER_MGMT_POINT_TYPE_DNS_ONLY, |
| | CLUSTER_MGMT_POINT_TYPE_CNO_ONLY |
| } CLUSTER_MGMT_POINT_TYPE; | | } CLUSTER_MGMT_POINT_TYPE; |
| | |
| #endif // _CLUSTER_API_TYPES_ | | #endif // _CLUSTER_API_TYPES_ |
| | |
| // | | // |
| // Interfaces for managing clusters | | // Interfaces for managing clusters |
| // | | // |
| | |
| // | | // |
| // Cluster API Specific Access Rights | | // Cluster API Specific Access Rights |
| // | | // |
| #define CLUSAPI_READ_ACCESS 0x00000001L | | #define CLUSAPI_READ_ACCESS 0x00000001L |
| #define CLUSAPI_CHANGE_ACCESS 0x00000002L | | #define CLUSAPI_CHANGE_ACCESS 0x00000002L |
| #define CLUSAPI_NO_ACCESS 0x00000004L | | #define CLUSAPI_NO_ACCESS 0x00000004L |
| #define CLUSAPI_ALL_ACCESS (CLUSAPI_READ_ACCESS | CLUSAPI_CHANGE_ACCESS) | | #define CLUSAPI_ALL_ACCESS (CLUSAPI_READ_ACCESS | CLUSAPI_CHANGE_ACCESS) |
| | |
| // | | // |
|
| | // Cluster API Access Control Type |
| | // |
| | #define CLUSTER_SET_ACCESS_TYPE_ALLOWED 0 //To add an allowed ACE |
| | #define CLUSTER_SET_ACCESS_TYPE_DENIED 1 //To add a denied ACE |
| | #define CLUSTER_DELETE_ACCESS_CONTROL_ENTRY 2 //To delete all the ACEs for |
| | a particular SID |
| | |
| | // |
| // Return values for CLUSCTL_CLUSTER_CHECK_VOTER_DOWN and CLUSCTL_CLUSTER_CHECK_
VOTER_EVICT | | // Return values for CLUSCTL_CLUSTER_CHECK_VOTER_DOWN and CLUSCTL_CLUSTER_CHECK_
VOTER_EVICT |
| // | | // |
| typedef enum CLUSTER_QUORUM_VALUE { | | typedef enum CLUSTER_QUORUM_VALUE { |
| CLUSTER_QUORUM_MAINTAINED = 0, | | CLUSTER_QUORUM_MAINTAINED = 0, |
| CLUSTER_QUORUM_LOST = 1, | | CLUSTER_QUORUM_LOST = 1, |
| } CLUSTER_QUORUM_VALUE; | | } CLUSTER_QUORUM_VALUE; |
| | |
| #if ( !MIDL_PASS && !__midl ) | | #if ( !MIDL_PASS && !__midl ) |
| | |
| // | | // |
| | |
| skipping to change at line 400 | | skipping to change at line 428 |
| { | | { |
| DWORD dwVersion; | | DWORD dwVersion; |
| PCWSTR lpszClusterName; | | PCWSTR lpszClusterName; |
| DWORD cNodes; | | DWORD cNodes; |
| PCWSTR * ppszNodeNames; | | PCWSTR * ppszNodeNames; |
| DWORD cIpEntries; | | DWORD cIpEntries; |
| PCLUSTER_IP_ENTRY pIpEntries; | | PCLUSTER_IP_ENTRY pIpEntries; |
| BOOLEAN fEmptyCluster; | | BOOLEAN fEmptyCluster; |
| CLUSTER_MGMT_POINT_TYPE managementPointType; | | CLUSTER_MGMT_POINT_TYPE managementPointType; |
| } CREATE_CLUSTER_CONFIG, *PCREATE_CLUSTER_CONFIG; | | } CREATE_CLUSTER_CONFIG, *PCREATE_CLUSTER_CONFIG; |
|
| | |
| | typedef struct _CREATE_CLUSTER_NAME_ACCOUNT |
| | { |
| | DWORD dwVersion; |
| | PCWSTR lpszClusterName; |
| | DWORD dwFlags; |
| | PCWSTR pszUserName; |
| | PCWSTR pszPassword; |
| | PCWSTR pszDomain; |
| | } CREATE_CLUSTER_NAME_ACCOUNT, *PCREATE_CLUSTER_NAME_ACCOUNT; |
| | |
| #endif // _CLUSTER_API_TYPES_ | | #endif // _CLUSTER_API_TYPES_ |
| | |
| DWORD | | DWORD |
| WINAPI | | WINAPI |
| GetNodeClusterState( | | GetNodeClusterState( |
| _In_opt_ LPCWSTR lpszNodeName, | | _In_opt_ LPCWSTR lpszNodeName, |
| _Out_ LPDWORD pdwClusterState | | _Out_ LPDWORD pdwClusterState |
| ); | | ); |
| | |
| typedef DWORD | | typedef DWORD |
| | |
| skipping to change at line 609 | | skipping to change at line 648 |
| _In_ HCLUSTER hCluster, | | _In_ HCLUSTER hCluster, |
| _In_opt_ HNODE hHostNode, | | _In_opt_ HNODE hHostNode, |
| _In_ DWORD dwControlCode, | | _In_ DWORD dwControlCode, |
| _In_reads_bytes_opt_(nInBufferSize) LPVOID lpInBuffer, | | _In_reads_bytes_opt_(nInBufferSize) LPVOID lpInBuffer, |
| _In_ DWORD nInBufferSize, | | _In_ DWORD nInBufferSize, |
| _Out_writes_bytes_to_opt_(nOutBufferSize, *lpBytesReturned) LPVOID lpOutBuff
er, | | _Out_writes_bytes_to_opt_(nOutBufferSize, *lpBytesReturned) LPVOID lpOutBuff
er, |
| _In_ DWORD nOutBufferSize, | | _In_ DWORD nOutBufferSize, |
| _Out_opt_ LPDWORD lpBytesReturned | | _Out_opt_ LPDWORD lpBytesReturned |
| ); | | ); |
| | |
|
| | typedef enum _CLUSTER_UPGRADE_PHASE { |
| | ClusterUpgradePhaseInitialize = 1, |
| | ClusterUpgradePhaseValidatingUpgrade = 2, |
| | ClusterUpgradePhaseUpgradingComponents = 3, |
| | ClusterUpgradePhaseInstallingNewComponents = 4, |
| | ClusterUpgradePhaseUpgradeComplete = 5 |
| | } CLUSTER_UPGRADE_PHASE; |
| | |
| | typedef BOOL |
| | (WINAPI *PCLUSTER_UPGRADE_PROGRESS_CALLBACK)( |
| | PVOID pvCallbackArg, |
| | CLUSTER_UPGRADE_PHASE eUpgradePhase |
| | ); |
| | |
| | DWORD |
| | WINAPI |
| | ClusterUpgradeFunctionalLevel( |
| | _In_ HCLUSTER hCluster, |
| | _In_ BOOL perform, |
| | _In_opt_ PCLUSTER_UPGRADE_PROGRESS_CALLBACK pfnProgressCallback, |
| | _In_opt_ PVOID pvCallbackArg |
| | ); |
| | |
| | typedef DWORD |
| | (WINAPI * PCLUSAPI_CLUSTER_UPGRADE)( |
| | _In_ HCLUSTER hCluster, |
| | _In_ BOOL perform, |
| | _In_opt_ PCLUSTER_UPGRADE_PROGRESS_CALLBACK pfnProgressCallback, |
| | _In_opt_ PVOID pvCallbackArg |
| | ); |
| | |
| #endif // MIDL_PASS | | #endif // MIDL_PASS |
| | |
| // | | // |
| // Cluster Event Notification API | | // Cluster Event Notification API |
| // | | // |
| | |
| #ifndef _CLUSTER_API_TYPES_ | | #ifndef _CLUSTER_API_TYPES_ |
| // | | // |
| // Cluster notification enums original | | // Cluster notification enums original |
| // | | // |
| | |
| skipping to change at line 719 | | skipping to change at line 789 |
| CLUSTER_CHANGE_CLUSTER_GROUP_ADDED_V2 = 0x00000004, | | CLUSTER_CHANGE_CLUSTER_GROUP_ADDED_V2 = 0x00000004, |
| CLUSTER_CHANGE_CLUSTER_HANDLE_CLOSE_V2 = 0x00000008, | | CLUSTER_CHANGE_CLUSTER_HANDLE_CLOSE_V2 = 0x00000008, |
| CLUSTER_CHANGE_CLUSTER_NETWORK_ADDED_V2 = 0x00000010, | | CLUSTER_CHANGE_CLUSTER_NETWORK_ADDED_V2 = 0x00000010, |
| CLUSTER_CHANGE_CLUSTER_NODE_ADDED_V2 = 0x00000020, | | CLUSTER_CHANGE_CLUSTER_NODE_ADDED_V2 = 0x00000020, |
| CLUSTER_CHANGE_CLUSTER_RESOURCE_TYPE_ADDED_V2 = 0x00000040, | | CLUSTER_CHANGE_CLUSTER_RESOURCE_TYPE_ADDED_V2 = 0x00000040, |
| CLUSTER_CHANGE_CLUSTER_COMMON_PROPERTY_V2 = 0x00000080, | | CLUSTER_CHANGE_CLUSTER_COMMON_PROPERTY_V2 = 0x00000080, |
| CLUSTER_CHANGE_CLUSTER_PRIVATE_PROPERTY_V2 = 0x00000100, | | CLUSTER_CHANGE_CLUSTER_PRIVATE_PROPERTY_V2 = 0x00000100, |
| CLUSTER_CHANGE_CLUSTER_LOST_NOTIFICATIONS_V2 = 0x00000200, | | CLUSTER_CHANGE_CLUSTER_LOST_NOTIFICATIONS_V2 = 0x00000200, |
| CLUSTER_CHANGE_CLUSTER_RENAME_V2 = 0x00000400, | | CLUSTER_CHANGE_CLUSTER_RENAME_V2 = 0x00000400, |
| CLUSTER_CHANGE_CLUSTER_MEMBERSHIP_V2 = 0x00000800, | | CLUSTER_CHANGE_CLUSTER_MEMBERSHIP_V2 = 0x00000800, |
|
| | CLUSTER_CHANGE_CLUSTER_UPGRADED_V2 = 0x00001000, |
| CLUSTER_CHANGE_CLUSTER_ALL_V2 = (CLUSTER_CHANGE_CLUSTER
_RECONNECT_V2 | | | CLUSTER_CHANGE_CLUSTER_ALL_V2 = (CLUSTER_CHANGE_CLUSTER
_RECONNECT_V2 | |
| CLUSTER_CHANGE_CLUSTER
_STATE_V2 | | | CLUSTER_CHANGE_CLUSTER
_STATE_V2 | |
| CLUSTER_CHANGE_CLUSTER
_GROUP_ADDED_V2 | | | CLUSTER_CHANGE_CLUSTER
_GROUP_ADDED_V2 | |
| CLUSTER_CHANGE_CLUSTER
_HANDLE_CLOSE_V2 | | | CLUSTER_CHANGE_CLUSTER
_HANDLE_CLOSE_V2 | |
| CLUSTER_CHANGE_CLUSTER
_NETWORK_ADDED_V2 | | | CLUSTER_CHANGE_CLUSTER
_NETWORK_ADDED_V2 | |
| CLUSTER_CHANGE_CLUSTER
_NODE_ADDED_V2 | | | CLUSTER_CHANGE_CLUSTER
_NODE_ADDED_V2 | |
| CLUSTER_CHANGE_CLUSTER
_RESOURCE_TYPE_ADDED_V2 | | | CLUSTER_CHANGE_CLUSTER
_RESOURCE_TYPE_ADDED_V2 | |
| CLUSTER_CHANGE_CLUSTER
_COMMON_PROPERTY_V2 | | | CLUSTER_CHANGE_CLUSTER
_COMMON_PROPERTY_V2 | |
| CLUSTER_CHANGE_CLUSTER
_PRIVATE_PROPERTY_V2 | | | CLUSTER_CHANGE_CLUSTER
_PRIVATE_PROPERTY_V2 | |
| CLUSTER_CHANGE_CLUSTER
_LOST_NOTIFICATIONS_V2 | | | CLUSTER_CHANGE_CLUSTER
_LOST_NOTIFICATIONS_V2 | |
| CLUSTER_CHANGE_CLUSTER
_RENAME_V2 | | | CLUSTER_CHANGE_CLUSTER
_RENAME_V2 | |
|
| CLUSTER_CHANGE_CLUSTER | | CLUSTER_CHANGE_CLUSTER |
| _MEMBERSHIP_V2) | | _MEMBERSHIP_V2 | |
| | CLUSTER_CHANGE_CLUSTER |
| | _UPGRADED_V2) |
| } CLUSTER_CHANGE_CLUSTER_V2; | | } CLUSTER_CHANGE_CLUSTER_V2; |
| | |
| typedef enum CLUSTER_CHANGE_GROUP_V2 { | | typedef enum CLUSTER_CHANGE_GROUP_V2 { |
| CLUSTER_CHANGE_GROUP_DELETED_V2 = 0x00000001, | | CLUSTER_CHANGE_GROUP_DELETED_V2 = 0x00000001, |
| CLUSTER_CHANGE_GROUP_COMMON_PROPERTY_V2 = 0x00000002, | | CLUSTER_CHANGE_GROUP_COMMON_PROPERTY_V2 = 0x00000002, |
| CLUSTER_CHANGE_GROUP_PRIVATE_PROPERTY_V2 = 0x00000004, | | CLUSTER_CHANGE_GROUP_PRIVATE_PROPERTY_V2 = 0x00000004, |
| CLUSTER_CHANGE_GROUP_STATE_V2 = 0x00000008, | | CLUSTER_CHANGE_GROUP_STATE_V2 = 0x00000008, |
| CLUSTER_CHANGE_GROUP_OWNER_NODE_V2 = 0x00000010, | | CLUSTER_CHANGE_GROUP_OWNER_NODE_V2 = 0x00000010, |
| CLUSTER_CHANGE_GROUP_PREFERRED_OWNERS_V2 = 0x00000020, | | CLUSTER_CHANGE_GROUP_PREFERRED_OWNERS_V2 = 0x00000020, |
| CLUSTER_CHANGE_GROUP_RESOURCE_ADDED_V2 = 0x00000040, | | CLUSTER_CHANGE_GROUP_RESOURCE_ADDED_V2 = 0x00000040, |
| | |
| skipping to change at line 787 | | skipping to change at line 859 |
| CLUSTER_CHANGE_RESOURCE_
HANDLE_CLOSE_V2 | | | CLUSTER_CHANGE_RESOURCE_
HANDLE_CLOSE_V2 | |
| CLUSTER_CHANGE_RESOURCE_
TERMINAL_STATE_V2 ) | | CLUSTER_CHANGE_RESOURCE_
TERMINAL_STATE_V2 ) |
| } CLUSTER_CHANGE_RESOURCE_V2; | | } CLUSTER_CHANGE_RESOURCE_V2; |
| | |
| typedef enum CLUSTER_CHANGE_RESOURCE_TYPE_V2 { | | typedef enum CLUSTER_CHANGE_RESOURCE_TYPE_V2 { |
| CLUSTER_CHANGE_RESOURCE_TYPE_DELETED_V2 = 0x00000001, | | CLUSTER_CHANGE_RESOURCE_TYPE_DELETED_V2 = 0x00000001, |
| CLUSTER_CHANGE_RESOURCE_TYPE_COMMON_PROPERTY_V2 = 0x00000002, | | CLUSTER_CHANGE_RESOURCE_TYPE_COMMON_PROPERTY_V2 = 0x00000002, |
| CLUSTER_CHANGE_RESOURCE_TYPE_PRIVATE_PROPERTY_V2 = 0x00000004, | | CLUSTER_CHANGE_RESOURCE_TYPE_PRIVATE_PROPERTY_V2 = 0x00000004, |
| CLUSTER_CHANGE_RESOURCE_TYPE_POSSIBLE_OWNERS_V2 = 0x00000008, | | CLUSTER_CHANGE_RESOURCE_TYPE_POSSIBLE_OWNERS_V2 = 0x00000008, |
| CLUSTER_CHANGE_RESOURCE_TYPE_DLL_UPGRADED_V2 = 0x00000010, | | CLUSTER_CHANGE_RESOURCE_TYPE_DLL_UPGRADED_V2 = 0x00000010, |
|
| | CLUSTER_RESOURCE_TYPE_SPECIFIC_V2 = 0x00000020, |
| CLUSTER_CHANGE_RESOURCE_TYPE_ALL_V2 = (CLUSTER_CHANGE_RESO
URCE_TYPE_DELETED_V2 | | | CLUSTER_CHANGE_RESOURCE_TYPE_ALL_V2 = (CLUSTER_CHANGE_RESO
URCE_TYPE_DELETED_V2 | |
| CLUSTER_CHANGE_RESO
URCE_TYPE_COMMON_PROPERTY_V2 | | | CLUSTER_CHANGE_RESO
URCE_TYPE_COMMON_PROPERTY_V2 | |
| CLUSTER_CHANGE_RESO
URCE_TYPE_PRIVATE_PROPERTY_V2 | | | CLUSTER_CHANGE_RESO
URCE_TYPE_PRIVATE_PROPERTY_V2 | |
| CLUSTER_CHANGE_RESO
URCE_TYPE_POSSIBLE_OWNERS_V2 | | | CLUSTER_CHANGE_RESO
URCE_TYPE_POSSIBLE_OWNERS_V2 | |
|
| CLUSTER_CHANGE_RESO | | CLUSTER_CHANGE_RESO |
| URCE_TYPE_DLL_UPGRADED_V2) | | URCE_TYPE_DLL_UPGRADED_V2 | |
| | CLUSTER_RESOURCE_TY |
| | PE_SPECIFIC_V2) |
| } CLUSTER_CHANGE_RESOURCE_TYPE_V2; | | } CLUSTER_CHANGE_RESOURCE_TYPE_V2; |
| | |
| typedef enum CLUSTER_CHANGE_NETINTERFACE_V2 { | | typedef enum CLUSTER_CHANGE_NETINTERFACE_V2 { |
| CLUSTER_CHANGE_NETINTERFACE_DELETED_V2 = 0x00000001, | | CLUSTER_CHANGE_NETINTERFACE_DELETED_V2 = 0x00000001, |
| CLUSTER_CHANGE_NETINTERFACE_COMMON_PROPERTY_V2 = 0x00000002, | | CLUSTER_CHANGE_NETINTERFACE_COMMON_PROPERTY_V2 = 0x00000002, |
| CLUSTER_CHANGE_NETINTERFACE_PRIVATE_PROPERTY_V2 = 0x00000004, | | CLUSTER_CHANGE_NETINTERFACE_PRIVATE_PROPERTY_V2 = 0x00000004, |
| CLUSTER_CHANGE_NETINTERFACE_STATE_V2 = 0x00000008, | | CLUSTER_CHANGE_NETINTERFACE_STATE_V2 = 0x00000008, |
| CLUSTER_CHANGE_NETINTERFACE_HANDLE_CLOSE_V2 = 0x00000010, | | CLUSTER_CHANGE_NETINTERFACE_HANDLE_CLOSE_V2 = 0x00000010, |
| CLUSTER_CHANGE_NETINTERFACE_ALL_V2 = (CLUSTER_CHANGE_NETIN
TERFACE_DELETED_V2 | | | CLUSTER_CHANGE_NETINTERFACE_ALL_V2 = (CLUSTER_CHANGE_NETIN
TERFACE_DELETED_V2 | |
| CLUSTER_CHANGE_NETIN
TERFACE_COMMON_PROPERTY_V2 | | | CLUSTER_CHANGE_NETIN
TERFACE_COMMON_PROPERTY_V2 | |
| | |
| skipping to change at line 870 | | skipping to change at line 944 |
| CLUSTER_CHANGE_SHARED_VOLUME_REMOVED_V2 = 0x00000004, | | CLUSTER_CHANGE_SHARED_VOLUME_REMOVED_V2 = 0x00000004, |
| CLUSTER_CHANGE_SHARED_VOLUME_ALL_V2 = (CLUSTER_CHANGE_SHARED_VOLUME_STAT
E_V2 | | | CLUSTER_CHANGE_SHARED_VOLUME_ALL_V2 = (CLUSTER_CHANGE_SHARED_VOLUME_STAT
E_V2 | |
| CLUSTER_CHANGE_SHARED_VOLUME_ADDE
D_V2 | | | CLUSTER_CHANGE_SHARED_VOLUME_ADDE
D_V2 | |
| CLUSTER_CHANGE_SHARED_VOLUME_REMO
VED_V2) | | CLUSTER_CHANGE_SHARED_VOLUME_REMO
VED_V2) |
| } CLUSTER_CHANGE_SHARED_VOLUME_V2; | | } CLUSTER_CHANGE_SHARED_VOLUME_V2; |
| | |
| typedef enum CLUSTER_CHANGE_SPACEPORT_V2 { | | typedef enum CLUSTER_CHANGE_SPACEPORT_V2 { |
| CLUSTER_CHANGE_SPACEPORT_CUSTOM_PNP_V2 = 0x00000001, | | CLUSTER_CHANGE_SPACEPORT_CUSTOM_PNP_V2 = 0x00000001, |
| } CLUSTER_CHANGE_SPACEPORT_V2; | | } CLUSTER_CHANGE_SPACEPORT_V2; |
| | |
|
| | typedef enum CLUSTER_CHANGE_NODE_UPGRADE_PHASE_V2 { |
| | CLUSTER_CHANGE_UPGRADE_NODE_PREPARE = 0x00000001, |
| | CLUSTER_CHANGE_UPGRADE_NODE_COMMIT = 0x00000002, |
| | CLUSTER_CHANGE_UPGRADE_NODE_POSTCOMMIT = 0x00000004, |
| | CLUSTER_CHANGE_UPGRADE_ALL = (CLUSTER_CHANGE_UPGRADE_NODE_PREPA |
| | RE | |
| | CLUSTER_CHANGE_UPGRADE_NODE_COMMI |
| | T | |
| | CLUSTER_CHANGE_UPGRADE_NODE_POSTC |
| | OMMIT) |
| | } CLUSTER_CHANGE_NODE_UPGRADE_PHASE_V2; |
| | |
| typedef enum CLUSTER_OBJECT_TYPE { | | typedef enum CLUSTER_OBJECT_TYPE { |
| CLUSTER_OBJECT_TYPE_NONE = 0x00000000, | | CLUSTER_OBJECT_TYPE_NONE = 0x00000000, |
| CLUSTER_OBJECT_TYPE_CLUSTER = 0x00000001, | | CLUSTER_OBJECT_TYPE_CLUSTER = 0x00000001, |
| CLUSTER_OBJECT_TYPE_GROUP = 0x00000002, | | CLUSTER_OBJECT_TYPE_GROUP = 0x00000002, |
| CLUSTER_OBJECT_TYPE_RESOURCE = 0x00000003, | | CLUSTER_OBJECT_TYPE_RESOURCE = 0x00000003, |
| CLUSTER_OBJECT_TYPE_RESOURCE_TYPE = 0x00000004, | | CLUSTER_OBJECT_TYPE_RESOURCE_TYPE = 0x00000004, |
| CLUSTER_OBJECT_TYPE_NETWORK_INTERFACE = 0x00000005, | | CLUSTER_OBJECT_TYPE_NETWORK_INTERFACE = 0x00000005, |
| CLUSTER_OBJECT_TYPE_NETWORK = 0x00000006, | | CLUSTER_OBJECT_TYPE_NETWORK = 0x00000006, |
| CLUSTER_OBJECT_TYPE_NODE = 0x00000007, | | CLUSTER_OBJECT_TYPE_NODE = 0x00000007, |
| CLUSTER_OBJECT_TYPE_REGISTRY = 0x00000008, | | CLUSTER_OBJECT_TYPE_REGISTRY = 0x00000008, |
| | |
| skipping to change at line 1267 | | skipping to change at line 1350 |
| typedef enum CLUSTER_NODE_DRAIN_STATUS { | | typedef enum CLUSTER_NODE_DRAIN_STATUS { |
| NodeDrainStatusNotInitiated = 0, | | NodeDrainStatusNotInitiated = 0, |
| NodeDrainStatusInProgress, | | NodeDrainStatusInProgress, |
| NodeDrainStatusCompleted, | | NodeDrainStatusCompleted, |
| NodeDrainStatusFailed, | | NodeDrainStatusFailed, |
| ClusterNodeDrainStatusCount | | ClusterNodeDrainStatusCount |
| } CLUSTER_NODE_DRAIN_STATUS; | | } CLUSTER_NODE_DRAIN_STATUS; |
| | |
| #endif //CLUSAPI_VERSION >= CLUSAPI_VERSION_WINDOWS8 | | #endif //CLUSAPI_VERSION >= CLUSAPI_VERSION_WINDOWS8 |
| | |
|
| | #if (CLUSAPI_VERSION >= CLUSAPI_VERSION_WINTHRESHOLD) |
| | |
| | typedef enum CLUSTER_NODE_STATUS |
| | { |
| | NodeStatusNormal = 0x0, |
| | NodeStatusIsolated = 0x1, |
| | NodeStatusQuarantined = 0x2, |
| | NodeStatusDrainInProgress = 0x4, |
| | NodeStatusDrainCompleted = 0x8, |
| | NodeStatusDrainFailed = 0x10, |
| | NodeStatusMax = (NodeStatusIsolated | NodeStatusQuara |
| | ntined | NodeStatusDrainFailed) |
| | } CLUSTER_NODE_STATUS; |
| | |
| | #endif //CLUSAPI_VERSION >= CLUSAPI_VERSION_WINTHRESHOLD |
| | |
| #endif // _CLUSTER_API_TYPES_ | | #endif // _CLUSTER_API_TYPES_ |
| | |
| // | | // |
| // Interfaces for managing the nodes of a cluster. | | // Interfaces for managing the nodes of a cluster. |
| // | | // |
| | |
| #if ( !MIDL_PASS && !__midl ) | | #if ( !MIDL_PASS && !__midl ) |
| HNODE | | HNODE |
| WINAPI | | WINAPI |
| OpenClusterNode( | | OpenClusterNode( |
| | |
| skipping to change at line 1727 | | skipping to change at line 1825 |
| | |
| // Group StatusInformation Flags; These flags are set only by Cluster Service On
ly; | | // Group StatusInformation Flags; These flags are set only by Cluster Service On
ly; |
| #define CLUSGRP_STATUS_LOCKED_MODE 0
x0000000000000001 | | #define CLUSGRP_STATUS_LOCKED_MODE 0
x0000000000000001 |
| #define CLUSGRP_STATUS_PREEMPTED 0
x0000000000000002 | | #define CLUSGRP_STATUS_PREEMPTED 0
x0000000000000002 |
| #define CLUSGRP_STATUS_WAITING_IN_QUEUE_FOR_MOVE 0
x0000000000000004 | | #define CLUSGRP_STATUS_WAITING_IN_QUEUE_FOR_MOVE 0
x0000000000000004 |
| #define CLUSGRP_STATUS_PHYSICAL_RESOURCES_LACKING 0
x0000000000000008 | | #define CLUSGRP_STATUS_PHYSICAL_RESOURCES_LACKING 0
x0000000000000008 |
| #define CLUSGRP_STATUS_WAITING_TO_START 0
x0000000000000010 | | #define CLUSGRP_STATUS_WAITING_TO_START 0
x0000000000000010 |
| #define CLUSGRP_STATUS_EMBEDDED_FAILURE 0
x0000000000000020 | | #define CLUSGRP_STATUS_EMBEDDED_FAILURE 0
x0000000000000020 |
| #define CLUSGRP_STATUS_OFFLINE_DUE_TO_ANTIAFFINITY_CONFLICT 0
x0000000000000040 | | #define CLUSGRP_STATUS_OFFLINE_DUE_TO_ANTIAFFINITY_CONFLICT 0
x0000000000000040 |
| #define CLUSGRP_STATUS_NETWORK_FAILURE 0
x0000000000000080 | | #define CLUSGRP_STATUS_NETWORK_FAILURE 0
x0000000000000080 |
|
| | #define CLUSGRP_STATUS_UNMONITORED 0
x0000000000000100 |
| | |
| HGROUP | | HGROUP |
| WINAPI | | WINAPI |
| CreateClusterGroupEx( | | CreateClusterGroupEx( |
| _In_ HCLUSTER hCluster, | | _In_ HCLUSTER hCluster, |
| _In_ LPCWSTR lpszGroupName, | | _In_ LPCWSTR lpszGroupName, |
| _In_opt_ PCLUSTER_CREATE_GROUP_INFO pGroupInfo | | _In_opt_ PCLUSTER_CREATE_GROUP_INFO pGroupInfo |
| ); | | ); |
| | |
| typedef HGROUP | | typedef HGROUP |
| | |
| skipping to change at line 1810 | | skipping to change at line 1909 |
| _In_ HGROUPENUMEX hGroupEnumEx | | _In_ HGROUPENUMEX hGroupEnumEx |
| ); | | ); |
| | |
| // Resource StatusInformation Flags; These are set by Cluster Service Only; | | // Resource StatusInformation Flags; These are set by Cluster Service Only; |
| #define CLUSRES_STATUS_LOCKED_MODE 0
x0000000000000001 | | #define CLUSRES_STATUS_LOCKED_MODE 0
x0000000000000001 |
| #define CLUSRES_STATUS_EMBEDDED_FAILURE 0
x0000000000000002 | | #define CLUSRES_STATUS_EMBEDDED_FAILURE 0
x0000000000000002 |
| #define CLUSRES_STATUS_FAILED_DUE_TO_INSUFFICIENT_CPU 0
x0000000000000004 | | #define CLUSRES_STATUS_FAILED_DUE_TO_INSUFFICIENT_CPU 0
x0000000000000004 |
| #define CLUSRES_STATUS_FAILED_DUE_TO_INSUFFICIENT_MEMORY 0
x0000000000000008 | | #define CLUSRES_STATUS_FAILED_DUE_TO_INSUFFICIENT_MEMORY 0
x0000000000000008 |
| #define CLUSRES_STATUS_FAILED_DUE_TO_INSUFFICIENT_GENERIC_RESOURCES 0
x0000000000000010 | | #define CLUSRES_STATUS_FAILED_DUE_TO_INSUFFICIENT_GENERIC_RESOURCES 0
x0000000000000010 |
| #define CLUSRES_STATUS_NETWORK_FAILURE 0
x0000000000000020 | | #define CLUSRES_STATUS_NETWORK_FAILURE 0
x0000000000000020 |
|
| | #define CLUSRES_STATUS_UNMONITORED 0
x0000000000000040 |
| | |
| HRESENUMEX | | HRESENUMEX |
| WINAPI | | WINAPI |
| ClusterResourceOpenEnumEx( | | ClusterResourceOpenEnumEx( |
| _In_ HCLUSTER hCluster, | | _In_ HCLUSTER hCluster, |
| _In_reads_bytes_opt_(cbProperties)LPCWSTR lpszProperties, | | _In_reads_bytes_opt_(cbProperties)LPCWSTR lpszProperties, |
| _In_ DWORD cbProperties, | | _In_ DWORD cbProperties, |
| _In_reads_bytes_opt_(cbRoProperties) LPCWSTR lpszRoProperties, | | _In_reads_bytes_opt_(cbRoProperties) LPCWSTR lpszRoProperties, |
| _In_ DWORD cbRoProperties, | | _In_ DWORD cbRoProperties, |
| _In_ DWORD dwFlags | | _In_ DWORD dwFlags |
| | |
| skipping to change at line 1872 | | skipping to change at line 1972 |
| ClusterResourceCloseEnumEx( | | ClusterResourceCloseEnumEx( |
| _In_ HRESENUMEX hResourceEnumEx | | _In_ HRESENUMEX hResourceEnumEx |
| ); | | ); |
| | |
| typedef DWORD | | typedef DWORD |
| (WINAPI * PCLUSAPI_CLUSTER_RESOURCE_CLOSE_ENUM_EX)( | | (WINAPI * PCLUSAPI_CLUSTER_RESOURCE_CLOSE_ENUM_EX)( |
| _In_ HRESENUMEX hResourceEnumEx | | _In_ HRESENUMEX hResourceEnumEx |
| ); | | ); |
| | |
| #define CLUSAPI_GROUP_ONLINE_IGNORE_RESOURCE_STATUS 0x00000001 | | #define CLUSAPI_GROUP_ONLINE_IGNORE_RESOURCE_STATUS 0x00000001 |
|
| | #define CLUSAPI_GROUP_ONLINE_SYNCHRONOUS 0x00000002 |
| | |
| DWORD WINAPI OnlineClusterGroupEx( | | DWORD WINAPI OnlineClusterGroupEx( |
| _In_ HGROUP hGroup, | | _In_ HGROUP hGroup, |
| _In_opt_ HNODE hDestinationNode, | | _In_opt_ HNODE hDestinationNode, |
| _In_ DWORD dwOnlineFlags, | | _In_ DWORD dwOnlineFlags, |
| _In_reads_bytes_opt_(cbInBufferSize) PBYTE lpInBuffer, | | _In_reads_bytes_opt_(cbInBufferSize) PBYTE lpInBuffer, |
| _In_ DWORD cbInBufferSize | | _In_ DWORD cbInBufferSize |
| ); | | ); |
| | |
| #define CLUSAPI_GROUP_OFFLINE_IGNORE_RESOURCE_STATUS 0x00000001 | | #define CLUSAPI_GROUP_OFFLINE_IGNORE_RESOURCE_STATUS 0x00000001 |
| | |
| skipping to change at line 2537 | | skipping to change at line 2638 |
| _In_reads_bytes_opt_(cbInBufferSize) LPVOID lpInBuffer, | | _In_reads_bytes_opt_(cbInBufferSize) LPVOID lpInBuffer, |
| _In_ DWORD cbInBufferSize, | | _In_ DWORD cbInBufferSize, |
| _Out_writes_bytes_to_opt_(cbOutBufferSize, *lpBytesReturned) LPVOID lpOutBuf
fer, | | _Out_writes_bytes_to_opt_(cbOutBufferSize, *lpBytesReturned) LPVOID lpOutBuf
fer, |
| _In_ DWORD cbOutBufferSize, | | _In_ DWORD cbOutBufferSize, |
| _Out_opt_ LPDWORD lpBytesReturned | | _Out_opt_ LPDWORD lpBytesReturned |
| ); | | ); |
| | |
| _Success_(return == ERROR_SUCCESS) | | _Success_(return == ERROR_SUCCESS) |
| DWORD | | DWORD |
| WINAPI | | WINAPI |
|
| | ClusterResourceControlAsUser( |
| | _In_ HRESOURCE hResource, |
| | _In_opt_ HNODE hHostNode, |
| | _In_ DWORD dwControlCode, |
| | _In_reads_bytes_opt_(cbInBufferSize) LPVOID lpInBuffer, |
| | _In_ DWORD cbInBufferSize, |
| | _Out_writes_bytes_to_opt_(cbOutBufferSize, *lpBytesReturned) LPVOID lpOutBuf |
| | fer, |
| | _In_ DWORD cbOutBufferSize, |
| | _Out_opt_ LPDWORD lpBytesReturned |
| | ); |
| | |
| | _Success_(return == ERROR_SUCCESS) |
| | DWORD |
| | WINAPI |
| ClusterResourceTypeControl( | | ClusterResourceTypeControl( |
| _In_ HCLUSTER hCluster, | | _In_ HCLUSTER hCluster, |
| _In_ LPCWSTR lpszResourceTypeName, | | _In_ LPCWSTR lpszResourceTypeName, |
| _In_opt_ HNODE hHostNode, | | _In_opt_ HNODE hHostNode, |
| _In_ DWORD dwControlCode, | | _In_ DWORD dwControlCode, |
| _In_reads_bytes_opt_(nInBufferSize) LPVOID lpInBuffer, | | _In_reads_bytes_opt_(nInBufferSize) LPVOID lpInBuffer, |
| _In_ DWORD nInBufferSize, | | _In_ DWORD nInBufferSize, |
| _Out_writes_bytes_to_opt_(nOutBufferSize, *lpBytesReturned) LPVOID lpOutBuff
er, | | _Out_writes_bytes_to_opt_(nOutBufferSize, *lpBytesReturned) LPVOID lpOutBuff
er, |
| _In_ DWORD nOutBufferSize, | | _In_ DWORD nOutBufferSize, |
| _Out_opt_ LPDWORD lpBytesReturned | | _Out_opt_ LPDWORD lpBytesReturned |
| | |
| skipping to change at line 2565 | | skipping to change at line 2680 |
| _In_reads_bytes_opt_(nInBufferSize) LPVOID lpInBuffer, | | _In_reads_bytes_opt_(nInBufferSize) LPVOID lpInBuffer, |
| _In_ DWORD nInBufferSize, | | _In_ DWORD nInBufferSize, |
| _Out_writes_bytes_to_opt_(nOutBufferSize, *lpBytesReturned) LPVOID lpOutBuff
er, | | _Out_writes_bytes_to_opt_(nOutBufferSize, *lpBytesReturned) LPVOID lpOutBuff
er, |
| _In_ DWORD nOutBufferSize, | | _In_ DWORD nOutBufferSize, |
| _Out_opt_ LPDWORD lpBytesReturned | | _Out_opt_ LPDWORD lpBytesReturned |
| ); | | ); |
| | |
| _Success_(return == ERROR_SUCCESS) | | _Success_(return == ERROR_SUCCESS) |
| DWORD | | DWORD |
| WINAPI | | WINAPI |
|
| | ClusterResourceTypeControlAsUser( |
| | _In_ HCLUSTER hCluster, |
| | _In_ LPCWSTR lpszResourceTypeName, |
| | _In_opt_ HNODE hHostNode, |
| | _In_ DWORD dwControlCode, |
| | _In_reads_bytes_opt_(nInBufferSize) LPVOID lpInBuffer, |
| | _In_ DWORD nInBufferSize, |
| | _Out_writes_bytes_to_opt_(nOutBufferSize, *lpBytesReturned) LPVOID lpOutBuff |
| | er, |
| | _In_ DWORD nOutBufferSize, |
| | _Out_opt_ LPDWORD lpBytesReturned |
| | ); |
| | |
| | _Success_(return == ERROR_SUCCESS) |
| | DWORD |
| | WINAPI |
| ClusterGroupControl( | | ClusterGroupControl( |
| _In_ HGROUP hGroup, | | _In_ HGROUP hGroup, |
| _In_opt_ HNODE hHostNode, | | _In_opt_ HNODE hHostNode, |
| _In_ DWORD dwControlCode, | | _In_ DWORD dwControlCode, |
| _In_reads_bytes_opt_(nInBufferSize) LPVOID lpInBuffer, | | _In_reads_bytes_opt_(nInBufferSize) LPVOID lpInBuffer, |
| _In_ DWORD nInBufferSize, | | _In_ DWORD nInBufferSize, |
| _Out_writes_bytes_to_opt_(nOutBufferSize, *lpBytesReturned) LPVOID lpOutBuff
er, | | _Out_writes_bytes_to_opt_(nOutBufferSize, *lpBytesReturned) LPVOID lpOutBuff
er, |
| _In_ DWORD nOutBufferSize, | | _In_ DWORD nOutBufferSize, |
| _Out_opt_ LPDWORD lpBytesReturned | | _Out_opt_ LPDWORD lpBytesReturned |
| ); | | ); |
| | |
| skipping to change at line 2656 | | skipping to change at line 2786 |
| CLUSPROP_TYPE_NAME, | | CLUSPROP_TYPE_NAME, |
| CLUSPROP_TYPE_SIGNATURE, | | CLUSPROP_TYPE_SIGNATURE, |
| CLUSPROP_TYPE_SCSI_ADDRESS, | | CLUSPROP_TYPE_SCSI_ADDRESS, |
| CLUSPROP_TYPE_DISK_NUMBER, | | CLUSPROP_TYPE_DISK_NUMBER, |
| CLUSPROP_TYPE_PARTITION_INFO, | | CLUSPROP_TYPE_PARTITION_INFO, |
| CLUSPROP_TYPE_FTSET_INFO, | | CLUSPROP_TYPE_FTSET_INFO, |
| CLUSPROP_TYPE_DISK_SERIALNUMBER, | | CLUSPROP_TYPE_DISK_SERIALNUMBER, |
| CLUSPROP_TYPE_DISK_GUID, | | CLUSPROP_TYPE_DISK_GUID, |
| CLUSPROP_TYPE_DISK_SIZE, | | CLUSPROP_TYPE_DISK_SIZE, |
| CLUSPROP_TYPE_PARTITION_INFO_EX, | | CLUSPROP_TYPE_PARTITION_INFO_EX, |
|
| | CLUSPROP_TYPE_PARTITION_INFO_EX2, |
| | CLUSPROP_TYPE_STORAGE_DEVICE_ID_DESCRIPTOR, |
| | |
| CLUSPROP_TYPE_USER=32768 | | CLUSPROP_TYPE_USER=32768 |
| } CLUSTER_PROPERTY_TYPE; | | } CLUSTER_PROPERTY_TYPE; |
| | |
| // | | // |
| // Cluster Control Property Data - Formats (a WORD) | | // Cluster Control Property Data - Formats (a WORD) |
| // | | // |
| typedef enum CLUSTER_PROPERTY_FORMAT { | | typedef enum CLUSTER_PROPERTY_FORMAT { |
| CLUSPROP_FORMAT_UNKNOWN = 0, | | CLUSPROP_FORMAT_UNKNOWN = 0, |
| CLUSPROP_FORMAT_BINARY, | | CLUSPROP_FORMAT_BINARY, |
| | |
| skipping to change at line 2709 | | skipping to change at line 2841 |
| CLUSPROP_SYNTAX_LIST_VALUE_EXPAND_SZ = CLUSPROP_SYNTAX_VALUE( CLU
SPROP_TYPE_LIST_VALUE, CLUSPROP_FORMAT_EXPAND_SZ ), | | CLUSPROP_SYNTAX_LIST_VALUE_EXPAND_SZ = CLUSPROP_SYNTAX_VALUE( CLU
SPROP_TYPE_LIST_VALUE, CLUSPROP_FORMAT_EXPAND_SZ ), |
| CLUSPROP_SYNTAX_LIST_VALUE_DWORD = CLUSPROP_SYNTAX_VALUE( CLU
SPROP_TYPE_LIST_VALUE, CLUSPROP_FORMAT_DWORD ), | | CLUSPROP_SYNTAX_LIST_VALUE_DWORD = CLUSPROP_SYNTAX_VALUE( CLU
SPROP_TYPE_LIST_VALUE, CLUSPROP_FORMAT_DWORD ), |
| CLUSPROP_SYNTAX_LIST_VALUE_BINARY = CLUSPROP_SYNTAX_VALUE( CLU
SPROP_TYPE_LIST_VALUE, CLUSPROP_FORMAT_BINARY ), | | CLUSPROP_SYNTAX_LIST_VALUE_BINARY = CLUSPROP_SYNTAX_VALUE( CLU
SPROP_TYPE_LIST_VALUE, CLUSPROP_FORMAT_BINARY ), |
| CLUSPROP_SYNTAX_LIST_VALUE_MULTI_SZ = CLUSPROP_SYNTAX_VALUE( CLU
SPROP_TYPE_LIST_VALUE, CLUSPROP_FORMAT_MULTI_SZ ), | | CLUSPROP_SYNTAX_LIST_VALUE_MULTI_SZ = CLUSPROP_SYNTAX_VALUE( CLU
SPROP_TYPE_LIST_VALUE, CLUSPROP_FORMAT_MULTI_SZ ), |
| CLUSPROP_SYNTAX_LIST_VALUE_LONG = CLUSPROP_SYNTAX_VALUE( CLU
SPROP_TYPE_LIST_VALUE, CLUSPROP_FORMAT_LONG ), | | CLUSPROP_SYNTAX_LIST_VALUE_LONG = CLUSPROP_SYNTAX_VALUE( CLU
SPROP_TYPE_LIST_VALUE, CLUSPROP_FORMAT_LONG ), |
| CLUSPROP_SYNTAX_LIST_VALUE_EXPANDED_SZ = CLUSPROP_SYNTAX_VALUE( CLU
SPROP_TYPE_LIST_VALUE, CLUSPROP_FORMAT_EXPANDED_SZ ), | | CLUSPROP_SYNTAX_LIST_VALUE_EXPANDED_SZ = CLUSPROP_SYNTAX_VALUE( CLU
SPROP_TYPE_LIST_VALUE, CLUSPROP_FORMAT_EXPANDED_SZ ), |
| CLUSPROP_SYNTAX_LIST_VALUE_SECURITY_DESCRIPTOR = CLUSPROP_SYNTAX_VALUE( CLU
SPROP_TYPE_LIST_VALUE, CLUSPROP_FORMAT_SECURITY_DESCRIPTOR ), | | CLUSPROP_SYNTAX_LIST_VALUE_SECURITY_DESCRIPTOR = CLUSPROP_SYNTAX_VALUE( CLU
SPROP_TYPE_LIST_VALUE, CLUSPROP_FORMAT_SECURITY_DESCRIPTOR ), |
| CLUSPROP_SYNTAX_LIST_VALUE_LARGE_INTEGER = CLUSPROP_SYNTAX_VALUE( CLU
SPROP_TYPE_LIST_VALUE, CLUSPROP_FORMAT_LARGE_INTEGER ), | | CLUSPROP_SYNTAX_LIST_VALUE_LARGE_INTEGER = CLUSPROP_SYNTAX_VALUE( CLU
SPROP_TYPE_LIST_VALUE, CLUSPROP_FORMAT_LARGE_INTEGER ), |
| CLUSPROP_SYNTAX_LIST_VALUE_ULARGE_INTEGER = CLUSPROP_SYNTAX_VALUE( CLU
SPROP_TYPE_LIST_VALUE, CLUSPROP_FORMAT_ULARGE_INTEGER ), | | CLUSPROP_SYNTAX_LIST_VALUE_ULARGE_INTEGER = CLUSPROP_SYNTAX_VALUE( CLU
SPROP_TYPE_LIST_VALUE, CLUSPROP_FORMAT_ULARGE_INTEGER ), |
| CLUSPROP_SYNTAX_LIST_VALUE_WORD = CLUSPROP_SYNTAX_VALUE( CLU
SPROP_TYPE_LIST_VALUE, CLUSPROP_FORMAT_WORD ), | | CLUSPROP_SYNTAX_LIST_VALUE_WORD = CLUSPROP_SYNTAX_VALUE( CLU
SPROP_TYPE_LIST_VALUE, CLUSPROP_FORMAT_WORD ), |
|
| | CLUSPROP_SYNTAX_LIST_VALUE_PROPERTY_LIST = CLUSPROP_SYNTAX_VALUE( CLU |
| | SPROP_TYPE_LIST_VALUE, CLUSPROP_FORMAT_PROPERTY_LIST ), |
| | CLUSPROP_SYNTAX_LIST_VALUE_FILETIME = CLUSPROP_SYNTAX_VALUE( CLU |
| | SPROP_TYPE_LIST_VALUE, CLUSPROP_FORMAT_FILETIME ), |
| | |
| // Storage syntax values | | // Storage syntax values |
| | |
| CLUSPROP_SYNTAX_DISK_SIGNATURE = CLUSPROP_SYNTAX_VALUE( CLUSPROP_TYPE_
SIGNATURE, CLUSPROP_FORMAT_DWORD ), | | CLUSPROP_SYNTAX_DISK_SIGNATURE = CLUSPROP_SYNTAX_VALUE( CLUSPROP_TYPE_
SIGNATURE, CLUSPROP_FORMAT_DWORD ), |
| CLUSPROP_SYNTAX_SCSI_ADDRESS = CLUSPROP_SYNTAX_VALUE( CLUSPROP_TYPE_
SCSI_ADDRESS, CLUSPROP_FORMAT_DWORD ), | | CLUSPROP_SYNTAX_SCSI_ADDRESS = CLUSPROP_SYNTAX_VALUE( CLUSPROP_TYPE_
SCSI_ADDRESS, CLUSPROP_FORMAT_DWORD ), |
| CLUSPROP_SYNTAX_DISK_NUMBER = CLUSPROP_SYNTAX_VALUE( CLUSPROP_TYPE_
DISK_NUMBER, CLUSPROP_FORMAT_DWORD ), | | CLUSPROP_SYNTAX_DISK_NUMBER = CLUSPROP_SYNTAX_VALUE( CLUSPROP_TYPE_
DISK_NUMBER, CLUSPROP_FORMAT_DWORD ), |
| CLUSPROP_SYNTAX_PARTITION_INFO = CLUSPROP_SYNTAX_VALUE( CLUSPROP_TYPE_
PARTITION_INFO, CLUSPROP_FORMAT_BINARY ), | | CLUSPROP_SYNTAX_PARTITION_INFO = CLUSPROP_SYNTAX_VALUE( CLUSPROP_TYPE_
PARTITION_INFO, CLUSPROP_FORMAT_BINARY ), |
| CLUSPROP_SYNTAX_FTSET_INFO = CLUSPROP_SYNTAX_VALUE( CLUSPROP_TYPE_
FTSET_INFO, CLUSPROP_FORMAT_BINARY ), | | CLUSPROP_SYNTAX_FTSET_INFO = CLUSPROP_SYNTAX_VALUE( CLUSPROP_TYPE_
FTSET_INFO, CLUSPROP_FORMAT_BINARY ), |
| CLUSPROP_SYNTAX_DISK_SERIALNUMBER = CLUSPROP_SYNTAX_VALUE( CLUSPROP_TYPE_
DISK_SERIALNUMBER, CLUSPROP_FORMAT_SZ ), | | CLUSPROP_SYNTAX_DISK_SERIALNUMBER = CLUSPROP_SYNTAX_VALUE( CLUSPROP_TYPE_
DISK_SERIALNUMBER, CLUSPROP_FORMAT_SZ ), |
| CLUSPROP_SYNTAX_DISK_GUID = CLUSPROP_SYNTAX_VALUE( CLUSPROP_TYPE_
DISK_GUID, CLUSPROP_FORMAT_SZ ), | | CLUSPROP_SYNTAX_DISK_GUID = CLUSPROP_SYNTAX_VALUE( CLUSPROP_TYPE_
DISK_GUID, CLUSPROP_FORMAT_SZ ), |
| CLUSPROP_SYNTAX_DISK_SIZE = CLUSPROP_SYNTAX_VALUE( CLUSPROP_TYPE_
DISK_SIZE, CLUSPROP_FORMAT_ULARGE_INTEGER ), | | CLUSPROP_SYNTAX_DISK_SIZE = CLUSPROP_SYNTAX_VALUE( CLUSPROP_TYPE_
DISK_SIZE, CLUSPROP_FORMAT_ULARGE_INTEGER ), |
| CLUSPROP_SYNTAX_PARTITION_INFO_EX = CLUSPROP_SYNTAX_VALUE( CLUSPROP_TYPE_
PARTITION_INFO_EX, CLUSPROP_FORMAT_BINARY ), | | CLUSPROP_SYNTAX_PARTITION_INFO_EX = CLUSPROP_SYNTAX_VALUE( CLUSPROP_TYPE_
PARTITION_INFO_EX, CLUSPROP_FORMAT_BINARY ), |
|
| CLUSPROP_SYNTAX_LIST_VALUE_FILETIME = CLUSPROP_SYNTAX_VALUE( CLUSPROP_TYPE_ | | CLUSPROP_SYNTAX_PARTITION_INFO_EX2 = CLUSPROP_SYNTAX_VALUE( CLUSPROP_TYPE_ |
| LIST_VALUE, CLUSPROP_FORMAT_FILETIME ), | | PARTITION_INFO_EX2, CLUSPROP_FORMAT_BINARY ), |
| | CLUSPROP_SYNTAX_STORAGE_DEVICE_ID_DESCRIPTOR = CLUSPROP_SYNTAX_VALUE( CLUSPR |
| | OP_TYPE_STORAGE_DEVICE_ID_DESCRIPTOR, CLUSPROP_FORMAT_BINARY ), |
| | |
| } CLUSTER_PROPERTY_SYNTAX; | | } CLUSTER_PROPERTY_SYNTAX; |
| | |
| #endif // _CLUSTER_API_TYPES_ | | #endif // _CLUSTER_API_TYPES_ |
| | |
| #if (CLUSAPI_VERSION >= CLUSAPI_VERSION_WINDOWS8) | | #if (CLUSAPI_VERSION >= CLUSAPI_VERSION_WINDOWS8) |
| | |
| #define GROUP_FAILURE_INFO_VERSION_1 0x1 | | #define GROUP_FAILURE_INFO_VERSION_1 0x1 |
| | |
| typedef struct GROUP_FAILURE_INFO { | | typedef struct GROUP_FAILURE_INFO { |
| | |
| skipping to change at line 2908 | | skipping to change at line 3043 |
| CLCTL_DELETE_CRYPTO_CHECKPOINT = CLCTL_EXTERNAL_CODE( 44, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), | | CLCTL_DELETE_CRYPTO_CHECKPOINT = CLCTL_EXTERNAL_CODE( 44, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), |
| CLCTL_GET_CRYPTO_CHECKPOINTS = CLCTL_EXTERNAL_CODE( 45, CLUS_ACCE
SS_READ, CLUS_NO_MODIFY ), | | CLCTL_GET_CRYPTO_CHECKPOINTS = CLCTL_EXTERNAL_CODE( 45, CLUS_ACCE
SS_READ, CLUS_NO_MODIFY ), |
| | |
| CLCTL_RESOURCE_UPGRADE_DLL = CLCTL_EXTERNAL_CODE( 46, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), | | CLCTL_RESOURCE_UPGRADE_DLL = CLCTL_EXTERNAL_CODE( 46, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), |
| | |
| CLCTL_ADD_REGISTRY_CHECKPOINT_64BIT = CLCTL_EXTERNAL_CODE( 47, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), | | CLCTL_ADD_REGISTRY_CHECKPOINT_64BIT = CLCTL_EXTERNAL_CODE( 47, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), |
| CLCTL_ADD_REGISTRY_CHECKPOINT_32BIT = CLCTL_EXTERNAL_CODE( 48, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), | | CLCTL_ADD_REGISTRY_CHECKPOINT_32BIT = CLCTL_EXTERNAL_CODE( 48, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), |
| | |
| CLCTL_GET_LOADBAL_PROCESS_LIST = CLCTL_EXTERNAL_CODE( 50, CLUS_ACCE
SS_READ, CLUS_NO_MODIFY ), | | CLCTL_GET_LOADBAL_PROCESS_LIST = CLCTL_EXTERNAL_CODE( 50, CLUS_ACCE
SS_READ, CLUS_NO_MODIFY ), |
| | |
|
| | CLCTL_SET_ACCOUNT_ACCESS = CLCTL_EXTERNAL_CODE( 60, CLUS_ACCE |
| | SS_WRITE, CLUS_MODIFY ), |
| | |
| CLCTL_GET_NETWORK_NAME = CLCTL_EXTERNAL_CODE( 90, CLUS_ACCE
SS_READ, CLUS_NO_MODIFY ), | | CLCTL_GET_NETWORK_NAME = CLCTL_EXTERNAL_CODE( 90, CLUS_ACCE
SS_READ, CLUS_NO_MODIFY ), |
| CLCTL_NETNAME_GET_VIRTUAL_SERVER_TOKEN = CLCTL_EXTERNAL_CODE( 91, CLUS_ACCE
SS_READ, CLUS_NO_MODIFY ), | | CLCTL_NETNAME_GET_VIRTUAL_SERVER_TOKEN = CLCTL_EXTERNAL_CODE( 91, CLUS_ACCE
SS_READ, CLUS_NO_MODIFY ), |
| CLCTL_NETNAME_REGISTER_DNS_RECORDS = CLCTL_EXTERNAL_CODE( 92, CLUS_ACCE
SS_WRITE, CLUS_NO_MODIFY ), | | CLCTL_NETNAME_REGISTER_DNS_RECORDS = CLCTL_EXTERNAL_CODE( 92, CLUS_ACCE
SS_WRITE, CLUS_NO_MODIFY ), |
| CLCTL_GET_DNS_NAME = CLCTL_EXTERNAL_CODE( 93, CLUS_ACCE
SS_READ, CLUS_NO_MODIFY ), | | CLCTL_GET_DNS_NAME = CLCTL_EXTERNAL_CODE( 93, CLUS_ACCE
SS_READ, CLUS_NO_MODIFY ), |
| CLCTL_NETNAME_SET_PWD_INFO = CLCTL_EXTERNAL_CODE( 94, CLUS_ACCE
SS_WRITE, CLUS_NO_MODIFY ), | | CLCTL_NETNAME_SET_PWD_INFO = CLCTL_EXTERNAL_CODE( 94, CLUS_ACCE
SS_WRITE, CLUS_NO_MODIFY ), |
| CLCTL_NETNAME_DELETE_CO = CLCTL_EXTERNAL_CODE( 95, CLUS_ACCE
SS_WRITE, CLUS_NO_MODIFY ), | | CLCTL_NETNAME_DELETE_CO = CLCTL_EXTERNAL_CODE( 95, CLUS_ACCE
SS_WRITE, CLUS_NO_MODIFY ), |
| CLCTL_NETNAME_VALIDATE_VCO = CLCTL_EXTERNAL_CODE( 96, CLUS_ACCE
SS_READ, CLUS_NO_MODIFY ), | | CLCTL_NETNAME_VALIDATE_VCO = CLCTL_EXTERNAL_CODE( 96, CLUS_ACCE
SS_READ, CLUS_NO_MODIFY ), |
| CLCTL_NETNAME_RESET_VCO = CLCTL_EXTERNAL_CODE( 97, CLUS_ACCE
SS_READ, CLUS_NO_MODIFY ), | | CLCTL_NETNAME_RESET_VCO = CLCTL_EXTERNAL_CODE( 97, CLUS_ACCE
SS_READ, CLUS_NO_MODIFY ), |
| CLCTL_NETNAME_REPAIR_VCO = CLCTL_EXTERNAL_CODE( 99, CLUS_ACCE
SS_READ, CLUS_NO_MODIFY ), | | CLCTL_NETNAME_REPAIR_VCO = CLCTL_EXTERNAL_CODE( 99, CLUS_ACCE
SS_READ, CLUS_NO_MODIFY ), |
| | |
| CLCTL_STORAGE_GET_DISK_INFO = CLCTL_EXTERNAL_CODE( 100, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), | | CLCTL_STORAGE_GET_DISK_INFO = CLCTL_EXTERNAL_CODE( 100, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), |
| CLCTL_STORAGE_GET_AVAILABLE_DISKS = CLCTL_EXTERNAL_CODE( 101, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), | | CLCTL_STORAGE_GET_AVAILABLE_DISKS = CLCTL_EXTERNAL_CODE( 101, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), |
| CLCTL_STORAGE_IS_PATH_VALID = CLCTL_EXTERNAL_CODE( 102, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), | | CLCTL_STORAGE_IS_PATH_VALID = CLCTL_EXTERNAL_CODE( 102, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), |
| CLCTL_STORAGE_SYNC_CLUSDISK_DB = CLCTL_EXTERNAL_CODE( 103, CLUS_ACC
ESS_WRITE, CLUS_MODIFY ), | | CLCTL_STORAGE_SYNC_CLUSDISK_DB = CLCTL_EXTERNAL_CODE( 103, CLUS_ACC
ESS_WRITE, CLUS_MODIFY ), |
|
| | CLCTL_STORAGE_GET_DISK_NUMBER_INFO = CLCTL_EXTERNAL_CODE( 104, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), |
| | |
| CLCTL_QUERY_DELETE = CLCTL_EXTERNAL_CODE( 110, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), | | CLCTL_QUERY_DELETE = CLCTL_EXTERNAL_CODE( 110, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), |
| | |
| CLCTL_IPADDRESS_RENEW_LEASE = CLCTL_EXTERNAL_CODE( 111, CLUS_ACC
ESS_WRITE, CLUS_MODIFY ), | | CLCTL_IPADDRESS_RENEW_LEASE = CLCTL_EXTERNAL_CODE( 111, CLUS_ACC
ESS_WRITE, CLUS_MODIFY ), |
| CLCTL_IPADDRESS_RELEASE_LEASE = CLCTL_EXTERNAL_CODE( 112, CLUS_ACC
ESS_WRITE, CLUS_MODIFY ), | | CLCTL_IPADDRESS_RELEASE_LEASE = CLCTL_EXTERNAL_CODE( 112, CLUS_ACC
ESS_WRITE, CLUS_MODIFY ), |
| | |
| CLCTL_QUERY_MAINTENANCE_MODE = CLCTL_EXTERNAL_CODE( 120, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), | | CLCTL_QUERY_MAINTENANCE_MODE = CLCTL_EXTERNAL_CODE( 120, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), |
| CLCTL_SET_MAINTENANCE_MODE = CLCTL_EXTERNAL_CODE( 121, CLUS_ACC
ESS_WRITE, CLUS_MODIFY ), | | CLCTL_SET_MAINTENANCE_MODE = CLCTL_EXTERNAL_CODE( 121, CLUS_ACC
ESS_WRITE, CLUS_MODIFY ), |
| CLCTL_STORAGE_SET_DRIVELETTER = CLCTL_EXTERNAL_CODE( 122, CLUS_ACC
ESS_WRITE, CLUS_MODIFY ), | | CLCTL_STORAGE_SET_DRIVELETTER = CLCTL_EXTERNAL_CODE( 122, CLUS_ACC
ESS_WRITE, CLUS_MODIFY ), |
| CLCTL_STORAGE_GET_DRIVELETTERS = CLCTL_EXTERNAL_CODE( 123, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), | | CLCTL_STORAGE_GET_DRIVELETTERS = CLCTL_EXTERNAL_CODE( 123, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), |
| CLCTL_STORAGE_GET_DISK_INFO_EX = CLCTL_EXTERNAL_CODE( 124, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), | | CLCTL_STORAGE_GET_DISK_INFO_EX = CLCTL_EXTERNAL_CODE( 124, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), |
| CLCTL_STORAGE_GET_AVAILABLE_DISKS_EX = CLCTL_EXTERNAL_CODE( 125, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), | | CLCTL_STORAGE_GET_AVAILABLE_DISKS_EX = CLCTL_EXTERNAL_CODE( 125, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), |
|
| | CLCTL_STORAGE_GET_DISK_INFO_EX2 = CLCTL_EXTERNAL_CODE( 126, CLUS_AC |
| | CESS_READ, CLUS_NO_MODIFY ), |
| | // Code 127 is available for storage after some others were re-numbered |
| | |
| CLCTL_STORAGE_REMAP_DRIVELETTER = CLCTL_EXTERNAL_CODE( 128, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), | | CLCTL_STORAGE_REMAP_DRIVELETTER = CLCTL_EXTERNAL_CODE( 128, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), |
| CLCTL_STORAGE_GET_DISKID = CLCTL_EXTERNAL_CODE( 129, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), | | CLCTL_STORAGE_GET_DISKID = CLCTL_EXTERNAL_CODE( 129, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), |
| CLCTL_STORAGE_IS_CLUSTERABLE = CLCTL_EXTERNAL_CODE( 130, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), | | CLCTL_STORAGE_IS_CLUSTERABLE = CLCTL_EXTERNAL_CODE( 130, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), |
| CLCTL_STORAGE_REMOVE_VM_OWNERSHIP = CLCTL_EXTERNAL_CODE( 131, CLUS_ACC
ESS_WRITE, CLUS_MODIFY ), | | CLCTL_STORAGE_REMOVE_VM_OWNERSHIP = CLCTL_EXTERNAL_CODE( 131, CLUS_ACC
ESS_WRITE, CLUS_MODIFY ), |
| CLCTL_STORAGE_GET_MOUNTPOINTS = CLCTL_EXTERNAL_CODE( 132, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), | | CLCTL_STORAGE_GET_MOUNTPOINTS = CLCTL_EXTERNAL_CODE( 132, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), |
| CLCTL_STORAGE_GET_DIRTY = CLCTL_EXTERNAL_CODE( 134, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), | | CLCTL_STORAGE_GET_DIRTY = CLCTL_EXTERNAL_CODE( 134, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), |
| // Codes 135-136 are available for storage after the two previous squatters
were made internal. | | // Codes 135-136 are available for storage after the two previous squatters
were made internal. |
| CLCTL_STORAGE_GET_SHARED_VOLUME_INFO = CLCTL_EXTERNAL_CODE( 137, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), | | CLCTL_STORAGE_GET_SHARED_VOLUME_INFO = CLCTL_EXTERNAL_CODE( 137, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), |
| CLCTL_STORAGE_IS_CSV_FILE = CLCTL_EXTERNAL_CODE( 138, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), | | CLCTL_STORAGE_IS_CSV_FILE = CLCTL_EXTERNAL_CODE( 138, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), |
| CLCTL_STORAGE_GET_RESOURCEID = CLCTL_EXTERNAL_CODE( 139, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), | | CLCTL_STORAGE_GET_RESOURCEID = CLCTL_EXTERNAL_CODE( 139, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), |
| | |
| skipping to change at line 2986 | | skipping to change at line 3127 |
| CLCTL_GET_GUM_LOCK_OWNER = CLCTL_EXTERNAL_CODE( 174, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), | | CLCTL_GET_GUM_LOCK_OWNER = CLCTL_EXTERNAL_CODE( 174, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY ), |
| CLCTL_GET_STUCK_NODES = CLCTL_EXTERNAL_CODE( 175, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY), | | CLCTL_GET_STUCK_NODES = CLCTL_EXTERNAL_CODE( 175, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY), |
| CLCTL_INJECT_GEM_FAULT = CLCTL_EXTERNAL_CODE( 176, CLUS_ACCE
SS_READ, CLUS_NO_MODIFY), | | CLCTL_INJECT_GEM_FAULT = CLCTL_EXTERNAL_CODE( 176, CLUS_ACCE
SS_READ, CLUS_NO_MODIFY), |
| CLCTL_INTRODUCE_GEM_REPAIR_DELAY = CLCTL_EXTERNAL_CODE( 177, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY), | | CLCTL_INTRODUCE_GEM_REPAIR_DELAY = CLCTL_EXTERNAL_CODE( 177, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY), |
| CLCTL_SEND_DUMMY_GEM_MESSAGES = CLCTL_EXTERNAL_CODE( 178, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY), | | CLCTL_SEND_DUMMY_GEM_MESSAGES = CLCTL_EXTERNAL_CODE( 178, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY), |
| CLCTL_BLOCK_GEM_SEND_RECV = CLCTL_EXTERNAL_CODE( 179, CLUS_ACCE
SS_READ, CLUS_NO_MODIFY), | | CLCTL_BLOCK_GEM_SEND_RECV = CLCTL_EXTERNAL_CODE( 179, CLUS_ACCE
SS_READ, CLUS_NO_MODIFY), |
| CLCTL_GET_GEMID_VECTOR = CLCTL_EXTERNAL_CODE( 180, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY), | | CLCTL_GET_GEMID_VECTOR = CLCTL_EXTERNAL_CODE( 180, CLUS_ACC
ESS_READ, CLUS_NO_MODIFY), |
| | |
| CLCTL_ADD_CRYPTO_CHECKPOINT_EX = CLCTL_EXTERNAL_CODE( 181, CLUS_ACC
ESS_WRITE, CLUS_MODIFY ), | | CLCTL_ADD_CRYPTO_CHECKPOINT_EX = CLCTL_EXTERNAL_CODE( 181, CLUS_ACC
ESS_WRITE, CLUS_MODIFY ), |
| | |
|
| | // gets the last time the group moved |
| | CLCTL_GROUP_GET_LAST_MOVE_TIME = CLCTL_EXTERNAL_CODE( 182, CLUS_ACC |
| | ESS_READ, CLUS_NO_MODIFY ), |
| | |
| | CLCTL_SET_STORAGE_CONFIGURATION = CLCTL_EXTERNAL_CODE( 184, CLUS_ACC |
| | ESS_WRITE, CLUS_MODIFY ), |
| | CLCTL_GET_STORAGE_CONFIGURATION = CLCTL_EXTERNAL_CODE( 185, CLUS_ACC |
| | ESS_READ, CLUS_NO_MODIFY ), |
| | CLCTL_GET_STORAGE_CONFIG_ATTRIBUTES = CLCTL_EXTERNAL_CODE( 186, CLUS_ACC |
| | ESS_READ, CLUS_NO_MODIFY ), |
| | CLCTL_REMOVE_NODE = CLCTL_EXTERNAL_CODE( 187, CLUS_ACC |
| | ESS_WRITE, CLUS_MODIFY ), |
| // Control codes 2000 to 2999 are reserved. | | // Control codes 2000 to 2999 are reserved. |
| | |
| CLCTL_STORAGE_GET_AVAILABLE_DISKS_EX2_INT = CLCTL_EXTERNAL_CODE( 2040, CLU
S_ACCESS_READ, CLUS_NO_MODIFY ), | | CLCTL_STORAGE_GET_AVAILABLE_DISKS_EX2_INT = CLCTL_EXTERNAL_CODE( 2040, CLU
S_ACCESS_READ, CLUS_NO_MODIFY ), |
| | |
| // | | // |
|
| | // Cloud Witness Controls |
| | // |
| | |
| | // takes in a property list of AccountName, PrimaryToken |
| | CLCTL_CLOUD_WITNESS_RESOURCE_TYPE_VALIDATE_CREDENTIALS = CLCTL_EXTERNAL_CODE |
| | ( 2104, CLUS_ACCESS_READ, CLUS_NO_MODIFY ), |
| | // takes in a proeprty list of PrimaryToken |
| | CLCTL_CLOUD_WITNESS_RESOURCE_UPDATE_TOKEN = CLCTL_EXTERNAL_CODE( 2105, CLUS |
| | _ACCESS_WRITE, CLUS_MODIFY ), |
| | |
| | // |
| | // Rolling upgrade controls |
| | // |
| | CLCTL_RESOURCE_PREPARE_UPGRADE = CLCTL_EXTERNAL_CODE( 2106, CLUS |
| | _ACCESS_WRITE, CLUS_MODIFY ), |
| | CLCTL_RESOURCE_UPGRADE_COMPLETED = CLCTL_EXTERNAL_CODE( 2107, CLUS |
| | _ACCESS_WRITE, CLUS_MODIFY ), |
| | |
| | // |
| | // Storage Replication |
| | // |
| | CLCTL_REPLICATION_GET_LOG_INFO = CLCTL_EXTERNAL_CODE(2129 |
| | , CLUS_ACCESS_READ, CLUS_NO_MODIFY), |
| | CLCTL_REPLICATION_GET_ELIGIBLE_LOGDISKS = CLCTL_EXTERNAL_CODE(2130 |
| | , CLUS_ACCESS_READ, CLUS_NO_MODIFY), |
| | CLCTL_REPLICATION_GET_ELIGIBLE_TARGET_DATADISKS = CLCTL_EXTERNAL_CODE(2131 |
| | , CLUS_ACCESS_READ, CLUS_NO_MODIFY), |
| | CLCTL_REPLICATION_GET_ELIGIBLE_SOURCE_DATADISKS = CLCTL_EXTERNAL_CODE(2132 |
| | , CLUS_ACCESS_READ, CLUS_NO_MODIFY), |
| | CLCTL_REPLICATION_GET_REPLICATED_DISKS = CLCTL_EXTERNAL_CODE(2133 |
| | , CLUS_ACCESS_READ, CLUS_NO_MODIFY), |
| | CLCTL_REPLICATION_GET_REPLICA_VOLUMES = CLCTL_EXTERNAL_CODE(2134 |
| | , CLUS_ACCESS_READ, CLUS_NO_MODIFY), |
| | CLCTL_REPLICATION_GET_LOG_VOLUME = CLCTL_EXTERNAL_CODE(2135 |
| | , CLUS_ACCESS_READ, CLUS_NO_MODIFY), |
| | CLCTL_REPLICATION_GET_RESOURCE_GROUP = CLCTL_EXTERNAL_CODE(2136 |
| | , CLUS_ACCESS_READ, CLUS_NO_MODIFY), |
| | CLCTL_REPLICATION_GET_REPLICATED_PARTITION_INFO = CLCTL_EXTERNAL_CODE(2137 |
| | , CLUS_ACCESS_READ, CLUS_NO_MODIFY), |
| | |
| | // Get Filetime of last state change |
| | CLCTL_GET_STATE_CHANGE_TIME = CLCTL_EXTERNAL_CODE( 2903, C |
| | LUS_ACCESS_READ, CLUS_NO_MODIFY ), |
| | #if (CLUSAPI_VERSION >= CLUSAPI_VERSION_WINTHRESHOLD) |
| | CLCTL_SET_CLUSTER_S2D_ENABLED = CLCTL_EXTERNAL_CODE( 2904, C |
| | LUS_ACCESS_WRITE, CLUS_MODIFY ), |
| | CLCTL_NOTIFY_S2D_POOL_CHANGE = CLCTL_EXTERNAL_CODE( 2905, C |
| | LUS_ACCESS_WRITE, CLUS_NO_MODIFY ), |
| | #endif |
| | |
| | // |
| // Internal control codes | | // Internal control codes |
| // | | // |
| CLCTL_DELETE = CLCTL_INTERNAL_CODE( 1, CLUS_ACCES
S_WRITE, CLUS_MODIFY ), | | CLCTL_DELETE = CLCTL_INTERNAL_CODE( 1, CLUS_ACCES
S_WRITE, CLUS_MODIFY ), |
| CLCTL_INSTALL_NODE = CLCTL_INTERNAL_CODE( 2, CLUS_ACCES
S_WRITE, CLUS_MODIFY ), | | CLCTL_INSTALL_NODE = CLCTL_INTERNAL_CODE( 2, CLUS_ACCES
S_WRITE, CLUS_MODIFY ), |
| CLCTL_EVICT_NODE = CLCTL_INTERNAL_CODE( 3, CLUS_ACCES
S_WRITE, CLUS_MODIFY ), | | CLCTL_EVICT_NODE = CLCTL_INTERNAL_CODE( 3, CLUS_ACCES
S_WRITE, CLUS_MODIFY ), |
| CLCTL_ADD_DEPENDENCY = CLCTL_INTERNAL_CODE( 4, CLUS_ACCES
S_WRITE, CLUS_MODIFY ), | | CLCTL_ADD_DEPENDENCY = CLCTL_INTERNAL_CODE( 4, CLUS_ACCES
S_WRITE, CLUS_MODIFY ), |
| CLCTL_REMOVE_DEPENDENCY = CLCTL_INTERNAL_CODE( 5, CLUS_ACCES
S_WRITE, CLUS_MODIFY ), | | CLCTL_REMOVE_DEPENDENCY = CLCTL_INTERNAL_CODE( 5, CLUS_ACCES
S_WRITE, CLUS_MODIFY ), |
| CLCTL_ADD_OWNER = CLCTL_INTERNAL_CODE( 6, CLUS_ACCES
S_WRITE, CLUS_MODIFY ), | | CLCTL_ADD_OWNER = CLCTL_INTERNAL_CODE( 6, CLUS_ACCES
S_WRITE, CLUS_MODIFY ), |
| CLCTL_REMOVE_OWNER = CLCTL_INTERNAL_CODE( 7, CLUS_ACCES
S_WRITE, CLUS_MODIFY ), | | CLCTL_REMOVE_OWNER = CLCTL_INTERNAL_CODE( 7, CLUS_ACCES
S_WRITE, CLUS_MODIFY ), |
| //************ Hole here at 8 | | //************ Hole here at 8 |
| | |
| skipping to change at line 3026 | | skipping to change at line 3209 |
| CLCTL_FSWITNESS_GET_EPOCH_INFO = CLCTL_INTERNAL_CODE( 23, CLUS_ACCE
SS_READ, CLUS_NO_MODIFY ), | | CLCTL_FSWITNESS_GET_EPOCH_INFO = CLCTL_INTERNAL_CODE( 23, CLUS_ACCE
SS_READ, CLUS_NO_MODIFY ), |
| CLCTL_FSWITNESS_SET_EPOCH_INFO = CLCTL_INTERNAL_CODE( 24, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), | | CLCTL_FSWITNESS_SET_EPOCH_INFO = CLCTL_INTERNAL_CODE( 24, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), |
| CLCTL_FSWITNESS_RELEASE_LOCK = CLCTL_INTERNAL_CODE( 25, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), | | CLCTL_FSWITNESS_RELEASE_LOCK = CLCTL_INTERNAL_CODE( 25, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), |
| | |
| CLCTL_NETNAME_CREDS_NOTIFYCAM = CLCTL_INTERNAL_CODE( 26, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), | | CLCTL_NETNAME_CREDS_NOTIFYCAM = CLCTL_INTERNAL_CODE( 26, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), |
| | |
| CLCTL_NOTIFY_QUORUM_STATUS = CLCTL_INTERNAL_CODE( 31, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), | | CLCTL_NOTIFY_QUORUM_STATUS = CLCTL_INTERNAL_CODE( 31, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), |
| | |
| CLCTL_GET_OPERATION_CONTEXT = CLCTL_INTERNAL_CODE( 2106, CLUS_AC
CESS_READ, CLUS_NO_MODIFY ), | | CLCTL_GET_OPERATION_CONTEXT = CLCTL_INTERNAL_CODE( 2106, CLUS_AC
CESS_READ, CLUS_NO_MODIFY ), |
| CLCTL_NOTIFY_OWNER_CHANGE = CLCTL_INTERNAL_CODE( 2120, CLUS_AC
CESS_WRITE, CLUS_MODIFY ), | | CLCTL_NOTIFY_OWNER_CHANGE = CLCTL_INTERNAL_CODE( 2120, CLUS_AC
CESS_WRITE, CLUS_MODIFY ), |
|
| | #if (CLUSAPI_VERSION >= CLUSAPI_VERSION_WINTHRESHOLD) |
| | CLCTL_VALIDATE_CHANGE_GROUP = CLCTL_INTERNAL_CODE( 2121, CLUS_AC |
| | CESS_READ, CLUS_NO_MODIFY ), |
| | #endif |
| | |
| } CLCTL_CODES; | | } CLCTL_CODES; |
| | |
| #endif // _CLUSTER_API_TYPES_ | | #endif // _CLUSTER_API_TYPES_ |
| | |
| // | | // |
| // Define macros to generate object specific control codes | | // Define macros to generate object specific control codes |
| // | | // |
| #define CLUSCTL_RESOURCE_CODE( Function ) ( \ | | #define CLUSCTL_RESOURCE_CODE( Function ) ( \ |
| ((CLUS_OBJECT_RESOURCE << CLUSCTL_OBJECT_SHIFT) | Function) ) | | ((CLUS_OBJECT_RESOURCE << CLUSCTL_OBJECT_SHIFT) | Function) ) |
| | |
| skipping to change at line 3197 | | skipping to change at line 3383 |
| | |
| CLUSCTL_RESOURCE_NETNAME_REGISTER_DNS_RECORDS = | | CLUSCTL_RESOURCE_NETNAME_REGISTER_DNS_RECORDS = |
| CLUSCTL_RESOURCE_CODE( CLCTL_NETNAME_REGISTER_DNS_RECORDS ), | | CLUSCTL_RESOURCE_CODE( CLCTL_NETNAME_REGISTER_DNS_RECORDS ), |
| | |
| CLUSCTL_RESOURCE_GET_DNS_NAME = | | CLUSCTL_RESOURCE_GET_DNS_NAME = |
| CLUSCTL_RESOURCE_CODE( CLCTL_GET_DNS_NAME ), | | CLUSCTL_RESOURCE_CODE( CLCTL_GET_DNS_NAME ), |
| | |
| CLUSCTL_RESOURCE_STORAGE_GET_DISK_INFO = | | CLUSCTL_RESOURCE_STORAGE_GET_DISK_INFO = |
| CLUSCTL_RESOURCE_CODE( CLCTL_STORAGE_GET_DISK_INFO ), | | CLUSCTL_RESOURCE_CODE( CLCTL_STORAGE_GET_DISK_INFO ), |
| | |
|
| | CLUSCTL_RESOURCE_STORAGE_GET_DISK_NUMBER_INFO = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_STORAGE_GET_DISK_NUMBER_INFO ), |
| | |
| CLUSCTL_RESOURCE_STORAGE_IS_PATH_VALID = | | CLUSCTL_RESOURCE_STORAGE_IS_PATH_VALID = |
| CLUSCTL_RESOURCE_CODE( CLCTL_STORAGE_IS_PATH_VALID ), | | CLUSCTL_RESOURCE_CODE( CLCTL_STORAGE_IS_PATH_VALID ), |
| | |
| CLUSCTL_RESOURCE_QUERY_DELETE = | | CLUSCTL_RESOURCE_QUERY_DELETE = |
| CLUSCTL_RESOURCE_CODE( CLCTL_QUERY_DELETE ), | | CLUSCTL_RESOURCE_CODE( CLCTL_QUERY_DELETE ), |
| | |
| CLUSCTL_RESOURCE_UPGRADE_DLL = | | CLUSCTL_RESOURCE_UPGRADE_DLL = |
| CLUSCTL_RESOURCE_CODE( CLCTL_RESOURCE_UPGRADE_DLL ), | | CLUSCTL_RESOURCE_CODE( CLCTL_RESOURCE_UPGRADE_DLL ), |
| | |
| CLUSCTL_RESOURCE_IPADDRESS_RENEW_LEASE = | | CLUSCTL_RESOURCE_IPADDRESS_RENEW_LEASE = |
| | |
| skipping to change at line 3230 | | skipping to change at line 3419 |
| | |
| CLUSCTL_RESOURCE_SET_MAINTENANCE_MODE = | | CLUSCTL_RESOURCE_SET_MAINTENANCE_MODE = |
| CLUSCTL_RESOURCE_CODE( CLCTL_SET_MAINTENANCE_MODE ), | | CLUSCTL_RESOURCE_CODE( CLCTL_SET_MAINTENANCE_MODE ), |
| | |
| CLUSCTL_RESOURCE_STORAGE_SET_DRIVELETTER = | | CLUSCTL_RESOURCE_STORAGE_SET_DRIVELETTER = |
| CLUSCTL_RESOURCE_CODE( CLCTL_STORAGE_SET_DRIVELETTER ), | | CLUSCTL_RESOURCE_CODE( CLCTL_STORAGE_SET_DRIVELETTER ), |
| | |
| CLUSCTL_RESOURCE_STORAGE_GET_DISK_INFO_EX = | | CLUSCTL_RESOURCE_STORAGE_GET_DISK_INFO_EX = |
| CLUSCTL_RESOURCE_CODE( CLCTL_STORAGE_GET_DISK_INFO_EX ), | | CLUSCTL_RESOURCE_CODE( CLCTL_STORAGE_GET_DISK_INFO_EX ), |
| | |
|
| | CLUSCTL_RESOURCE_STORAGE_GET_DISK_INFO_EX2 = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_STORAGE_GET_DISK_INFO_EX2 ), |
| | |
| CLUSCTL_RESOURCE_STORAGE_GET_MOUNTPOINTS = | | CLUSCTL_RESOURCE_STORAGE_GET_MOUNTPOINTS = |
| CLUSCTL_RESOURCE_CODE( CLCTL_STORAGE_GET_MOUNTPOINTS ), | | CLUSCTL_RESOURCE_CODE( CLCTL_STORAGE_GET_MOUNTPOINTS ), |
| | |
| CLUSCTL_RESOURCE_STORAGE_GET_DIRTY = | | CLUSCTL_RESOURCE_STORAGE_GET_DIRTY = |
| CLUSCTL_RESOURCE_CODE( CLCTL_STORAGE_GET_DIRTY ), | | CLUSCTL_RESOURCE_CODE( CLCTL_STORAGE_GET_DIRTY ), |
| | |
| CLUSCTL_RESOURCE_STORAGE_GET_SHARED_VOLUME_INFO = | | CLUSCTL_RESOURCE_STORAGE_GET_SHARED_VOLUME_INFO = |
| CLUSCTL_RESOURCE_CODE( CLCTL_STORAGE_GET_SHARED_VOLUME_INFO ), | | CLUSCTL_RESOURCE_CODE( CLCTL_STORAGE_GET_SHARED_VOLUME_INFO ), |
| | |
| CLUSCTL_RESOURCE_SET_CSV_MAINTENANCE_MODE = | | CLUSCTL_RESOURCE_SET_CSV_MAINTENANCE_MODE = |
| | |
| skipping to change at line 3366 | | skipping to change at line 3558 |
| | |
| CLUSCTL_RESOURCE_RW_MODIFY_NOOP = | | CLUSCTL_RESOURCE_RW_MODIFY_NOOP = |
| CLUSCTL_RESOURCE_CODE( CLCTL_RW_MODIFY_NOOP ), | | CLUSCTL_RESOURCE_CODE( CLCTL_RW_MODIFY_NOOP ), |
| | |
| CLUSCTL_RESOURCE_NOTIFY_QUORUM_STATUS = | | CLUSCTL_RESOURCE_NOTIFY_QUORUM_STATUS = |
| CLUSCTL_RESOURCE_CODE( CLCTL_NOTIFY_QUORUM_STATUS ), | | CLUSCTL_RESOURCE_CODE( CLCTL_NOTIFY_QUORUM_STATUS ), |
| | |
| CLUSCTL_RESOURCE_NOTIFY_OWNER_CHANGE = | | CLUSCTL_RESOURCE_NOTIFY_OWNER_CHANGE = |
| CLUSCTL_RESOURCE_CODE( CLCTL_NOTIFY_OWNER_CHANGE ), | | CLUSCTL_RESOURCE_CODE( CLCTL_NOTIFY_OWNER_CHANGE ), |
| | |
|
| | #if (CLUSAPI_VERSION >= CLUSAPI_VERSION_WINTHRESHOLD) |
| | CLUSCTL_RESOURCE_VALIDATE_CHANGE_GROUP = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_VALIDATE_CHANGE_GROUP ), |
| | #endif |
| | |
| | CLUSCTL_CLOUD_WITNESS_RESOURCE_UPDATE_TOKEN = CLUSCTL_RESOURCE_CODE( CLCTL_C |
| | LOUD_WITNESS_RESOURCE_UPDATE_TOKEN ), |
| | |
| | CLUSCTL_RESOURCE_PREPARE_UPGRADE = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_RESOURCE_PREPARE_UPGRADE ), |
| | |
| | CLUSCTL_RESOURCE_UPGRADE_COMPLETED = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_RESOURCE_UPGRADE_COMPLETED ), |
| | |
| | CLUSCTL_RESOURCE_GET_STATE_CHANGE_TIME = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_GET_STATE_CHANGE_TIME ) |
| } CLUSCTL_RESOURCE_CODES; | | } CLUSCTL_RESOURCE_CODES; |
| | |
| // | | // |
| // Cluster Control Codes for Resource Types | | // Cluster Control Codes for Resource Types |
| // | | // |
| typedef enum CLUSCTL_RESOURCE_TYPE_CODES { | | typedef enum CLUSCTL_RESOURCE_TYPE_CODES { |
| | |
| // External | | // External |
| CLUSCTL_RESOURCE_TYPE_UNKNOWN = | | CLUSCTL_RESOURCE_TYPE_UNKNOWN = |
| CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_UNKNOWN ), | | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_UNKNOWN ), |
| | |
| skipping to change at line 3518 | | skipping to change at line 3725 |
| CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_STARTING_PHASE2 ), | | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_STARTING_PHASE2 ), |
| | |
| CLUSCTL_RESOURCE_TYPE_HOLD_IO = | | CLUSCTL_RESOURCE_TYPE_HOLD_IO = |
| CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_HOLD_IO ), | | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_HOLD_IO ), |
| | |
| CLUSCTL_RESOURCE_TYPE_RESUME_IO = | | CLUSCTL_RESOURCE_TYPE_RESUME_IO = |
| CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_RESUME_IO ), | | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_RESUME_IO ), |
| | |
| CLUSCTL_RESOURCE_TYPE_STORAGE_GET_AVAILABLE_DISKS_EX2_INT = | | CLUSCTL_RESOURCE_TYPE_STORAGE_GET_AVAILABLE_DISKS_EX2_INT = |
| CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_STORAGE_GET_AVAILABLE_DISKS_EX2_INT ), | | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_STORAGE_GET_AVAILABLE_DISKS_EX2_INT ), |
|
| | |
| | CLUSCTL_RESOURCE_TYPE_REPLICATION_GET_ELIGIBLE_LOGDISKS = |
| | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_REPLICATION_GET_ELIGIBLE_LOGDISKS ), |
| | |
| | CLUSCTL_RESOURCE_TYPE_REPLICATION_GET_ELIGIBLE_TARGET_DATADISKS = |
| | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_REPLICATION_GET_ELIGIBLE_TARGET_DATADI |
| | SKS ), |
| | |
| | CLUSCTL_RESOURCE_TYPE_REPLICATION_GET_ELIGIBLE_SOURCE_DATADISKS = |
| | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_REPLICATION_GET_ELIGIBLE_SOURCE_DATADI |
| | SKS ), |
| | |
| | CLUSCTL_RESOURCE_TYPE_REPLICATION_GET_REPLICATED_DISKS = |
| | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_REPLICATION_GET_REPLICATED_DISKS ), |
| | |
| | CLUSCTL_RESOURCE_TYPE_REPLICATION_GET_REPLICA_VOLUMES = |
| | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_REPLICATION_GET_REPLICA_VOLUMES ), |
| | |
| | CLUSCTL_RESOURCE_TYPE_REPLICATION_GET_LOG_VOLUME = |
| | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_REPLICATION_GET_LOG_VOLUME ), |
| | |
| | CLUSCTL_RESOURCE_TYPE_REPLICATION_GET_RESOURCE_GROUP = |
| | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_REPLICATION_GET_RESOURCE_GROUP), |
| | |
| | CLUSCTL_RESOURCE_TYPE_REPLICATION_GET_REPLICATED_PARTITION_INFO = |
| | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_REPLICATION_GET_REPLICATED_PARTITION_I |
| | NFO), |
| | |
| | CLUSCTL_RESOURCE_TYPE_REPLICATION_GET_LOG_INFO = |
| | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_REPLICATION_GET_LOG_INFO), |
| | |
| | CLUSCTL_CLOUD_WITNESS_RESOURCE_TYPE_VALIDATE_CREDENTIALS = CLUSCTL_RESOURCE_ |
| | TYPE_CODE( CLCTL_CLOUD_WITNESS_RESOURCE_TYPE_VALIDATE_CREDENTIALS ), |
| | |
| | CLUSCTL_RESOURCE_TYPE_PREPARE_UPGRADE = |
| | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_RESOURCE_PREPARE_UPGRADE ), |
| | |
| | CLUSCTL_RESOURCE_TYPE_UPGRADE_COMPLETED = |
| | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_RESOURCE_UPGRADE_COMPLETED ), |
| | |
| } CLUSCTL_RESOURCE_TYPE_CODES; | | } CLUSCTL_RESOURCE_TYPE_CODES; |
| | |
| // | | // |
| // Cluster Control Codes for Groups | | // Cluster Control Codes for Groups |
| // | | // |
| typedef enum CLUSCTL_GROUP_CODES { | | typedef enum CLUSCTL_GROUP_CODES { |
| | |
| // External | | // External |
| CLUSCTL_GROUP_UNKNOWN = | | CLUSCTL_GROUP_UNKNOWN = |
| CLUSCTL_GROUP_CODE( CLCTL_UNKNOWN ), | | CLUSCTL_GROUP_CODE( CLCTL_UNKNOWN ), |
| | |
| skipping to change at line 3583 | | skipping to change at line 3826 |
| | |
| CLUSCTL_GROUP_GET_COMMON_PROPERTY_FMTS= | | CLUSCTL_GROUP_GET_COMMON_PROPERTY_FMTS= |
| CLUSCTL_GROUP_CODE( CLCTL_GET_COMMON_PROPERTY_FMTS ), | | CLUSCTL_GROUP_CODE( CLCTL_GET_COMMON_PROPERTY_FMTS ), |
| | |
| CLUSCTL_GROUP_GET_PRIVATE_PROPERTY_FMTS= | | CLUSCTL_GROUP_GET_PRIVATE_PROPERTY_FMTS= |
| CLUSCTL_GROUP_CODE( CLCTL_GET_PRIVATE_PROPERTY_FMTS ), | | CLUSCTL_GROUP_CODE( CLCTL_GET_PRIVATE_PROPERTY_FMTS ), |
| | |
| CLUSCTL_GROUP_GET_FAILURE_INFO = | | CLUSCTL_GROUP_GET_FAILURE_INFO = |
| CLUSCTL_GROUP_CODE( CLCTL_GET_FAILURE_INFO ), | | CLUSCTL_GROUP_CODE( CLCTL_GET_FAILURE_INFO ), |
| | |
|
| | // last time a group moved see struct |
| | // input - nothing |
| | // output - see CLUSCTL_GROUP_GET_LAST_MOVE_TIME_OUTPUT |
| | CLUSCTL_GROUP_GET_LAST_MOVE_TIME = |
| | CLUSCTL_GROUP_CODE( CLCTL_GROUP_GET_LAST_MOVE_TIME ), |
| | |
| // Internal | | // Internal |
| | |
| } CLUSCTL_GROUP_CODES; | | } CLUSCTL_GROUP_CODES; |
| | |
| // | | // |
| // Cluster Control Codes for Nodes | | // Cluster Control Codes for Nodes |
| // | | // |
| typedef enum CLUSCTL_NODE_CODES { | | typedef enum CLUSCTL_NODE_CODES { |
| | |
| // External | | // External |
| | |
| skipping to change at line 3803 | | skipping to change at line 4052 |
| // | | // |
| typedef enum CLUSCTL_CLUSTER_CODES { | | typedef enum CLUSCTL_CLUSTER_CODES { |
| | |
| // External | | // External |
| CLUSCTL_CLUSTER_UNKNOWN = | | CLUSCTL_CLUSTER_UNKNOWN = |
| CLUSCTL_CLUSTER_CODE( CLCTL_UNKNOWN ), | | CLUSCTL_CLUSTER_CODE( CLCTL_UNKNOWN ), |
| | |
| CLUSCTL_CLUSTER_GET_FQDN = | | CLUSCTL_CLUSTER_GET_FQDN = |
| CLUSCTL_CLUSTER_CODE( CLCTL_GET_FQDN ), | | CLUSCTL_CLUSTER_CODE( CLCTL_GET_FQDN ), |
| | |
|
| | CLUSCTL_CLUSTER_SET_STORAGE_CONFIGURATION = |
| | CLUSCTL_CLUSTER_CODE( CLCTL_SET_STORAGE_CONFIGURATION ), |
| | |
| | CLUSCTL_CLUSTER_GET_STORAGE_CONFIGURATION = |
| | CLUSCTL_CLUSTER_CODE( CLCTL_GET_STORAGE_CONFIGURATION ), |
| | |
| | CLUSCTL_CLUSTER_GET_STORAGE_CONFIG_ATTRIBUTES = |
| | CLUSCTL_CLUSTER_CODE( CLCTL_GET_STORAGE_CONFIG_ATTRIBUTES ), |
| | |
| CLUSCTL_CLUSTER_ENUM_COMMON_PROPERTIES = | | CLUSCTL_CLUSTER_ENUM_COMMON_PROPERTIES = |
| CLUSCTL_CLUSTER_CODE( CLCTL_ENUM_COMMON_PROPERTIES ), | | CLUSCTL_CLUSTER_CODE( CLCTL_ENUM_COMMON_PROPERTIES ), |
| | |
| CLUSCTL_CLUSTER_GET_RO_COMMON_PROPERTIES = | | CLUSCTL_CLUSTER_GET_RO_COMMON_PROPERTIES = |
| CLUSCTL_CLUSTER_CODE( CLCTL_GET_RO_COMMON_PROPERTIES ), | | CLUSCTL_CLUSTER_CODE( CLCTL_GET_RO_COMMON_PROPERTIES ), |
| | |
| CLUSCTL_CLUSTER_GET_COMMON_PROPERTIES = | | CLUSCTL_CLUSTER_GET_COMMON_PROPERTIES = |
| CLUSCTL_CLUSTER_CODE( CLCTL_GET_COMMON_PROPERTIES ), | | CLUSCTL_CLUSTER_CODE( CLCTL_GET_COMMON_PROPERTIES ), |
| | |
| CLUSCTL_CLUSTER_SET_COMMON_PROPERTIES = | | CLUSCTL_CLUSTER_SET_COMMON_PROPERTIES = |
| | |
| skipping to change at line 3863 | | skipping to change at line 4121 |
| | |
| CLUSCTL_CLUSTER_GET_SHARED_VOLUME_ID = | | CLUSCTL_CLUSTER_GET_SHARED_VOLUME_ID = |
| CLUSCTL_CLUSTER_CODE( CLCTL_GET_SHARED_VOLUME_ID ), | | CLUSCTL_CLUSTER_CODE( CLCTL_GET_SHARED_VOLUME_ID ), |
| | |
| CLUSCTL_CLUSTER_GET_CLUSDB_TIMESTAMP = | | CLUSCTL_CLUSTER_GET_CLUSDB_TIMESTAMP = |
| CLUSCTL_CLUSTER_CODE( CLCTL_GET_CLUSDB_TIMESTAMP ), | | CLUSCTL_CLUSTER_CODE( CLCTL_GET_CLUSDB_TIMESTAMP ), |
| | |
| CLUSCTL_CLUSTER_GET_GUM_LOCK_OWNER = | | CLUSCTL_CLUSTER_GET_GUM_LOCK_OWNER = |
| CLUSCTL_CLUSTER_CODE( CLCTL_GET_GUM_LOCK_OWNER ), | | CLUSCTL_CLUSTER_CODE( CLCTL_GET_GUM_LOCK_OWNER ), |
| | |
|
| | CLUSCTL_CLUSTER_REMOVE_NODE = |
| | CLUSCTL_CLUSTER_CODE( CLCTL_REMOVE_NODE), |
| | |
| | CLUSCTL_CLUSTER_SET_ACCOUNT_ACCESS = |
| | CLUSCTL_CLUSTER_CODE( CLCTL_SET_ACCOUNT_ACCESS), |
| | |
| | #if (CLUSAPI_VERSION >= CLUSAPI_VERSION_WINTHRESHOLD) |
| | CLUSCTL_CLUSTER_SET_CLUSTER_S2D_ENABLED = |
| | CLUSCTL_CLUSTER_CODE( CLCTL_SET_CLUSTER_S2D_ENABLED ), |
| | |
| | CLUSCTL_CLUSTER_NOTIFY_S2D_POOL_CHANGE = |
| | CLUSCTL_CLUSTER_CODE( CLCTL_NOTIFY_S2D_POOL_CHANGE ), |
| | #endif |
| | |
| } CLUSCTL_CLUSTER_CODES; | | } CLUSCTL_CLUSTER_CODES; |
| | |
| // | | // |
| // Cluster Resource Class types | | // Cluster Resource Class types |
| // | | // |
| typedef enum CLUSTER_RESOURCE_CLASS { | | typedef enum CLUSTER_RESOURCE_CLASS { |
| CLUS_RESCLASS_UNKNOWN = 0, | | CLUS_RESCLASS_UNKNOWN = 0, |
| CLUS_RESCLASS_STORAGE, | | CLUS_RESCLASS_STORAGE, |
| CLUS_RESCLASS_NETWORK, | | CLUS_RESCLASS_NETWORK, |
| CLUS_RESCLASS_USER = 32768 | | CLUS_RESCLASS_USER = 32768 |
| | |
| skipping to change at line 3885 | | skipping to change at line 4157 |
| // | | // |
| // Define Resource SubClass bits | | // Define Resource SubClass bits |
| // | | // |
| // legacy subclass struct | | // legacy subclass struct |
| // | | // |
| typedef enum CLUS_RESSUBCLASS { | | typedef enum CLUS_RESSUBCLASS { |
| CLUS_RESSUBCLASS_SHARED = 0x80000000 | | CLUS_RESSUBCLASS_SHARED = 0x80000000 |
| } CLUS_RESSUBCLASS; | | } CLUS_RESSUBCLASS; |
| | |
| typedef enum CLUS_RESSUBCLASS_STORAGE { | | typedef enum CLUS_RESSUBCLASS_STORAGE { |
|
| CLUS_RESSUBCLASS_STORAGE_SHARED_BUS = 0x80000000, | | CLUS_RESSUBCLASS_STORAGE_SHARED_BUS = 0x80000000, |
| CLUS_RESSUBCLASS_STORAGE_DISK = 0x40000000 | | CLUS_RESSUBCLASS_STORAGE_DISK = 0x40000000, |
| | CLUS_RESSUBCLASS_STORAGE_REPLICATION = 0x10000000 |
| } CLUS_RESSUBCLASS_STORAGE; | | } CLUS_RESSUBCLASS_STORAGE; |
| | |
| typedef enum CLUS_RESSUBCLASS_NETWORK { | | typedef enum CLUS_RESSUBCLASS_NETWORK { |
| CLUS_RESSUBCLASS_NETWORK_INTERNET_PROTOCOL = 0x80000000 // Identifies
IP address providers | | CLUS_RESSUBCLASS_NETWORK_INTERNET_PROTOCOL = 0x80000000 // Identifies
IP address providers |
| } CLUS_RESSUBCLASS_NETWORK; | | } CLUS_RESSUBCLASS_NETWORK; |
| | |
| // | | // |
| // Cluster Characteristics used by resource types and resources | | // Cluster Characteristics used by resource types and resources |
| // | | // |
| typedef enum CLUS_CHARACTERISTICS { | | typedef enum CLUS_CHARACTERISTICS { |
| | |
| skipping to change at line 3913 | | skipping to change at line 4186 |
| CLUS_CHAR_BROADCAST_DELETE = 0x00000020, | | CLUS_CHAR_BROADCAST_DELETE = 0x00000020, |
| CLUS_CHAR_SINGLE_CLUSTER_INSTANCE = 0x00000040, // only one reso
urce of this type allowed per cluster | | CLUS_CHAR_SINGLE_CLUSTER_INSTANCE = 0x00000040, // only one reso
urce of this type allowed per cluster |
| CLUS_CHAR_SINGLE_GROUP_INSTANCE = 0x00000080, // only one reso
urce of this type allowed per group | | CLUS_CHAR_SINGLE_GROUP_INSTANCE = 0x00000080, // only one reso
urce of this type allowed per group |
| CLUS_CHAR_COEXIST_IN_SHARED_VOLUME_GROUP= 0x00000100, | | CLUS_CHAR_COEXIST_IN_SHARED_VOLUME_GROUP= 0x00000100, |
| CLUS_CHAR_PLACEMENT_DATA = 0x00000200, | | CLUS_CHAR_PLACEMENT_DATA = 0x00000200, |
| CLUS_CHAR_MONITOR_DETACH = 0x00000400, | | CLUS_CHAR_MONITOR_DETACH = 0x00000400, |
| CLUS_CHAR_MONITOR_REATTACH = 0x00000800, | | CLUS_CHAR_MONITOR_REATTACH = 0x00000800, |
| CLUS_CHAR_OPERATION_CONTEXT = 0x00001000, | | CLUS_CHAR_OPERATION_CONTEXT = 0x00001000, |
| CLUS_CHAR_CLONES = 0x00002000, | | CLUS_CHAR_CLONES = 0x00002000, |
| CLUS_CHAR_NOT_PREEMPTABLE = 0x00004000, | | CLUS_CHAR_NOT_PREEMPTABLE = 0x00004000, |
|
| CLUS_CHAR_NOTIFY_NEW_OWNER = 0x00008000 | | CLUS_CHAR_NOTIFY_NEW_OWNER = 0x00008000, |
| | CLUS_CHAR_SUPPORTS_UNMONITORED_STATE = 0x00010000, |
| | CLUS_CHAR_INFRASTRUCTURE = 0x00020000 // The resource |
| | type is for infrastructure and is not for roles |
| } CLUS_CHARACTERISTICS; | | } CLUS_CHARACTERISTICS; |
| | |
| // | | // |
| // Cluster Flags | | // Cluster Flags |
| // | | // |
| typedef enum CLUS_FLAGS { | | typedef enum CLUS_FLAGS { |
| CLUS_FLAG_CORE = 0x00000001 | | CLUS_FLAG_CORE = 0x00000001 |
| } CLUS_FLAGS; | | } CLUS_FLAGS; |
| | |
| // | | // |
| | |
| skipping to change at line 4107 | | skipping to change at line 4382 |
| #endif // _CLUSTER_API_TYPES_ | | #endif // _CLUSTER_API_TYPES_ |
| | |
| #ifndef _CLUSTER_API_TYPES_ | | #ifndef _CLUSTER_API_TYPES_ |
| | |
| // Disk partition information flags. | | // Disk partition information flags. |
| typedef enum CLUSPROP_PIFLAGS { | | typedef enum CLUSPROP_PIFLAGS { |
| CLUSPROP_PIFLAG_STICKY = 0x00000001, | | CLUSPROP_PIFLAG_STICKY = 0x00000001, |
| CLUSPROP_PIFLAG_REMOVABLE = 0x00000002, | | CLUSPROP_PIFLAG_REMOVABLE = 0x00000002, |
| CLUSPROP_PIFLAG_USABLE = 0x00000004, | | CLUSPROP_PIFLAG_USABLE = 0x00000004, |
| CLUSPROP_PIFLAG_DEFAULT_QUORUM = 0x00000008, | | CLUSPROP_PIFLAG_DEFAULT_QUORUM = 0x00000008, |
|
| CLUSPROP_PIFLAG_USABLE_FOR_CSV = 0x00000010 | | CLUSPROP_PIFLAG_USABLE_FOR_CSV = 0x00000010, |
| | CLUSPROP_PIFLAG_UNKNOWN = 0x80000000 |
| } CLUSPROP_PIFLAGS; | | } CLUSPROP_PIFLAGS; |
| | |
| #if ( !MIDL_PASS && !__midl ) | | #if ( !MIDL_PASS && !__midl ) |
| //force quorum information, useful for QON type resources | | //force quorum information, useful for QON type resources |
| //to be able to continue operation without the quorum | | //to be able to continue operation without the quorum |
| typedef struct CLUS_FORCE_QUORUM_INFO { | | typedef struct CLUS_FORCE_QUORUM_INFO { |
| DWORD dwSize; // size of this struct including the nod
es list. | | DWORD dwSize; // size of this struct including the nod
es list. |
| DWORD dwNodeBitMask; // a bit mask representing the max assum
ed node set | | DWORD dwNodeBitMask; // a bit mask representing the max assum
ed node set |
| DWORD dwMaxNumberofNodes; // the number of bits set in the mask | | DWORD dwMaxNumberofNodes; // the number of bits set in the mask |
| WCHAR multiszNodeList[1]; // Multi sz list of nodes | | WCHAR multiszNodeList[1]; // Multi sz list of nodes |
| | |
| skipping to change at line 4155 | | skipping to change at line 4431 |
| DWORD rgdwMaximumComponentLength; | | DWORD rgdwMaximumComponentLength; |
| DWORD dwFileSystemFlags; | | DWORD dwFileSystemFlags; |
| WCHAR szFileSystem[32]; | | WCHAR szFileSystem[32]; |
| ULARGE_INTEGER TotalSizeInBytes; | | ULARGE_INTEGER TotalSizeInBytes; |
| ULARGE_INTEGER FreeSizeInBytes; | | ULARGE_INTEGER FreeSizeInBytes; |
| DWORD DeviceNumber; | | DWORD DeviceNumber; |
| DWORD PartitionNumber; | | DWORD PartitionNumber; |
| GUID VolumeGuid; | | GUID VolumeGuid; |
| } CLUS_PARTITION_INFO_EX, *PCLUS_PARTITION_INFO_EX; | | } CLUS_PARTITION_INFO_EX, *PCLUS_PARTITION_INFO_EX; |
| | |
|
| | // Disk partition information ex V2 contains these members in addition to ex. |
| | typedef struct CLUS_PARTITION_INFO_EX2 { |
| | GUID GptPartitionId; |
| | WCHAR szPartitionName[MAX_PATH]; |
| | } CLUS_PARTITION_INFO_EX2, *PCLUS_PARTITION_INFO_EX2; |
| | |
| typedef enum _CLUSTER_CSV_VOLUME_FAULT_STATE { | | typedef enum _CLUSTER_CSV_VOLUME_FAULT_STATE { |
| VolumeStateNoFaults = 0x00000000, | | VolumeStateNoFaults = 0x00000000, |
| VolumeStateNoDirectIO = 0x00000001, | | VolumeStateNoDirectIO = 0x00000001, |
| VolumeStateNoAccess = 0x00000002, | | VolumeStateNoAccess = 0x00000002, |
| VolumeStateInMaintenance = 0x00000004, | | VolumeStateInMaintenance = 0x00000004, |
| VolumeStateDismounted = 0x00000008 | | VolumeStateDismounted = 0x00000008 |
| } CLUSTER_CSV_VOLUME_FAULT_STATE, *PCLUSTER_CSV_VOLUME_FAULT_STATE; | | } CLUSTER_CSV_VOLUME_FAULT_STATE, *PCLUSTER_CSV_VOLUME_FAULT_STATE; |
| | |
| typedef enum _CLUSTER_SHARED_VOLUME_BACKUP_STATE { | | typedef enum _CLUSTER_SHARED_VOLUME_BACKUP_STATE { |
| VolumeBackupNone = 0x00000000, | | VolumeBackupNone = 0x00000000, |
| | |
| skipping to change at line 4206 | | skipping to change at line 4488 |
| WCHAR szNodeName[MAX_PATH]; | | WCHAR szNodeName[MAX_PATH]; |
| CLUSTER_SHARED_VOLUME_STATE VolumeState; | | CLUSTER_SHARED_VOLUME_STATE VolumeState; |
| } CLUSTER_SHARED_VOLUME_STATE_INFO, *PCLUSTER_SHARED_VOLUME_STATE_INFO; | | } CLUSTER_SHARED_VOLUME_STATE_INFO, *PCLUSTER_SHARED_VOLUME_STATE_INFO; |
| | |
| // Bit mask values for CSV redirected IO reason - upto 64 reasons are supported. | | // Bit mask values for CSV redirected IO reason - upto 64 reasons are supported. |
| #define RedirectedIOReasonUserRequest 0x0000000000000001 | | #define RedirectedIOReasonUserRequest 0x0000000000000001 |
| #define RedirectedIOReasonUnsafeFileSystemFilter 0x0000000000000002 | | #define RedirectedIOReasonUnsafeFileSystemFilter 0x0000000000000002 |
| #define RedirectedIOReasonUnsafeVolumeFilter 0x0000000000000004 | | #define RedirectedIOReasonUnsafeVolumeFilter 0x0000000000000004 |
| #define RedirectedIOReasonFileSystemTiering 0x0000000000000008 | | #define RedirectedIOReasonFileSystemTiering 0x0000000000000008 |
| #define RedirectedIOReasonBitLockerInitializing 0x0000000000000010 | | #define RedirectedIOReasonBitLockerInitializing 0x0000000000000010 |
|
| | #define RedirectedIOReasonReFs 0x0000000000000020 |
| #define RedirectedIOReasonMax 0x8000000000000000 | | #define RedirectedIOReasonMax 0x8000000000000000 |
| | |
| #define VolumeRedirectedIOReasonNoDiskConnectivity 0x0000000000000001 | | #define VolumeRedirectedIOReasonNoDiskConnectivity 0x0000000000000001 |
| #define VolumeRedirectedIOReasonStorageSpaceNotAttached 0x0000000000000002 | | #define VolumeRedirectedIOReasonStorageSpaceNotAttached 0x0000000000000002 |
|
| | #define VolumeRedirectedIOReasonVolumeReplicationEnabled 0x0000000000000004 |
| #define VolumeRedirectedIOReasonMax 0x8000000000000000 | | #define VolumeRedirectedIOReasonMax 0x8000000000000000 |
| | |
| typedef struct _CLUSTER_SHARED_VOLUME_STATE_INFO_EX | | typedef struct _CLUSTER_SHARED_VOLUME_STATE_INFO_EX |
| { | | { |
| WCHAR szVolumeName[MAX_PATH]; | | WCHAR szVolumeName[MAX_PATH]; |
| WCHAR szNodeName[MAX_PATH]; | | WCHAR szNodeName[MAX_PATH]; |
| CLUSTER_SHARED_VOLUME_STATE VolumeState; | | CLUSTER_SHARED_VOLUME_STATE VolumeState; |
| WCHAR szVolumeFriendlyName[MAX_PATH]; | | WCHAR szVolumeFriendlyName[MAX_PATH]; |
| ULONGLONG RedirectedIOReason; | | ULONGLONG RedirectedIOReason; |
| ULONGLONG VolumeRedirectedIOReason; | | ULONGLONG VolumeRedirectedIOReason; |
| } CLUSTER_SHARED_VOLUME_STATE_INFO_EX, *PCLUSTER_SHARED_VOLUME_STATE_INFO_EX; | | } CLUSTER_SHARED_VOLUME_STATE_INFO_EX, *PCLUSTER_SHARED_VOLUME_STATE_INFO_EX; |
| | |
|
| | #if (CLUSAPI_VERSION >= CLUSAPI_VERSION_WINTHRESHOLD) |
| | // |
| | // S2D state change notification types. |
| | // |
| | #define NOTIFY_S2D_POOL_CHANGE_IN_CHANGE_TYPE_OPTIMIZE_REQUEST 1 |
| | #define NOTIFY_S2D_POOL_CHANGE_IN_CHANGE_TYPE_POOL_DRIVE_CHANGED 2 |
| | |
| | // |
| | // Drive change notification types. |
| | // |
| | #define NOTIFY_S2D_POOL_CHANGE_IN_DRIVE_CHANGE_TYPE_ADDED 1 |
| | #define NOTIFY_S2D_POOL_CHANGE_IN_DRIVE_CHANGE_TYPE_REMOVED 2 |
| | #define NOTIFY_S2D_POOL_CHANGE_IN_DRIVE_CHANGE_TYPE_CHANGED 3 |
| | |
| | // |
| | // Input to CLUSCTL_CLUSTER_NOTIFY_S2D_POOL_CHANGE. |
| | // |
| | typedef struct _NOTIFY_S2D_POOL_CHANGE_IN |
| | { |
| | // |
| | // Size of this structure, in bytes. |
| | // |
| | UINT32 Size; |
| | |
| | // |
| | // The change notification type, one of the NOTIFY_S2D_POOL_CHANGE_IN_CHANGE |
| | _TYPE_* operations above. |
| | // |
| | UINT64 ChangeType; |
| | |
| | // |
| | // Parameters valid when ChangeType == NOTIFY_S2D_POOL_CHANGE_IN_CHANGE_TYPE |
| | _POOL_DRIVE_CHANGED |
| | // |
| | struct |
| | { |
| | // |
| | // One of the NOTIFY_S2D_POOL_CHANGE_IN_DRIVE_CHANGE_TYPE_* values above |
| | . |
| | // |
| | UINT64 DriveChangeType; |
| | |
| | // |
| | // The id of the pool that changed. |
| | // |
| | GUID PoolId; |
| | |
| | // |
| | // The id of the drive that changed. |
| | // |
| | GUID DriveId; |
| | } |
| | DriveChangeParams; |
| | } |
| | NOTIFY_S2D_POOL_CHANGE_IN, *PNOTIFY_S2D_POOL_CHANGE_IN; |
| | |
| | #define NOTIFY_S2D_POOL_CHANGE_IN_VALIDATE_SIZE(InBuffer,InBufferSize) \ |
| | (((InBufferSize) >= sizeof(NOTIFY_S2D_POOL_CHANGE_IN)) \ |
| | && (((PNOTIFY_S2D_POOL_CHANGE_IN)(InBuffer))->Size >= sizeof(NOTIFY_S2D_POOL |
| | _CHANGE_IN)) \ |
| | && (((PNOTIFY_S2D_POOL_CHANGE_IN)(InBuffer))->Size <= InBufferSize)) |
| | |
| | #endif |
| | |
| typedef struct _CLUS_CHKDSK_INFO { | | typedef struct _CLUS_CHKDSK_INFO { |
| DWORD PartitionNumber; | | DWORD PartitionNumber; |
| DWORD ChkdskState; | | DWORD ChkdskState; |
| DWORD FileIdCount; | | DWORD FileIdCount; |
| ULONGLONG FileIdList[1]; // variable length array | | ULONGLONG FileIdList[1]; // variable length array |
| } CLUS_CHKDSK_INFO, *PCLUS_CHKDSK_INFO; | | } CLUS_CHKDSK_INFO, *PCLUS_CHKDSK_INFO; |
| | |
| typedef struct _CLUS_DISK_NUMBER_INFO { | | typedef struct _CLUS_DISK_NUMBER_INFO { |
| DWORD DiskNumber; | | DWORD DiskNumber; |
| DWORD BytesPerSector; | | DWORD BytesPerSector; |
| | |
| skipping to change at line 4266 | | skipping to change at line 4610 |
| , public CLUS_PARTITION_INFO_EX { | | , public CLUS_PARTITION_INFO_EX { |
| #else | | #else |
| typedef struct CLUSPROP_PARTITION_INFO_EX { | | typedef struct CLUSPROP_PARTITION_INFO_EX { |
| CLUSPROP_VALUE; | | CLUSPROP_VALUE; |
| CLUS_PARTITION_INFO_EX; | | CLUS_PARTITION_INFO_EX; |
| #endif | | #endif |
| } CLUSPROP_PARTITION_INFO_EX; | | } CLUSPROP_PARTITION_INFO_EX; |
| | |
| typedef CLUSPROP_PARTITION_INFO_EX UNALIGNED *PCLUSPROP_PARTITION_INFO_EX; | | typedef CLUSPROP_PARTITION_INFO_EX UNALIGNED *PCLUSPROP_PARTITION_INFO_EX; |
| | |
|
| | // Disk partition information for CLUSCTL_RESOURCE_STORAGE_GET_DISK_INFO_EX2 |
| | #ifdef __cplusplus |
| | typedef struct CLUSPROP_PARTITION_INFO_EX2 |
| | : public CLUSPROP_PARTITION_INFO_EX |
| | , public CLUS_PARTITION_INFO_EX2 { |
| | #else |
| | typedef struct CLUSPROP_PARTITION_INFO_EX2 { |
| | CLUSPROP_PARTITION_INFO_EX; |
| | CLUS_PARTITION_INFO_EX2; |
| | #endif |
| | } CLUSPROP_PARTITION_INFO_EX2; |
| | |
| | typedef CLUSPROP_PARTITION_INFO_EX2 UNALIGNED *PCLUSPROP_PARTITION_INFO_EX2; |
| | |
| // | | // |
| // FT set information. | | // FT set information. |
| // | | // |
| typedef struct CLUS_FTSET_INFO { | | typedef struct CLUS_FTSET_INFO { |
| DWORD dwRootSignature; | | DWORD dwRootSignature; |
| DWORD dwFtType; | | DWORD dwFtType; |
| } CLUS_FTSET_INFO, *PCLUS_FTSET_INFO; | | } CLUS_FTSET_INFO, *PCLUS_FTSET_INFO; |
| | |
| // Disk partition information property value. | | // Disk partition information property value. |
| #ifdef __cplusplus | | #ifdef __cplusplus |
| | |
| skipping to change at line 4341 | | skipping to change at line 4699 |
| #define MAX_CREATINGDC_LENGTH 256 | | #define MAX_CREATINGDC_LENGTH 256 |
| | |
| typedef struct CLUS_NETNAME_PWD_INFO { | | typedef struct CLUS_NETNAME_PWD_INFO { |
| DWORD Flags; | | DWORD Flags; |
| WCHAR Password[MAX_CO_PASSWORD_LENGTH]; | | WCHAR Password[MAX_CO_PASSWORD_LENGTH]; |
| WCHAR CreatingDC[MAX_CREATINGDC_LENGTH+2]; // including the '\\' prefix | | WCHAR CreatingDC[MAX_CREATINGDC_LENGTH+2]; // including the '\\' prefix |
| WCHAR ObjectGuid[MAX_OBJECTID]; // | | WCHAR ObjectGuid[MAX_OBJECTID]; // |
| } CLUS_NETNAME_PWD_INFO, *PCLUS_NETNAME_PWD_INFO, CLUS_RLUA_PWD_INFO, *PCLUS_RLU
A_PWD_INFO; | | } CLUS_NETNAME_PWD_INFO, *PCLUS_NETNAME_PWD_INFO, CLUS_RLUA_PWD_INFO, *PCLUS_RLU
A_PWD_INFO; |
| | |
| // | | // |
|
| // input structure for CLUSCTL_RESOURCE_DNN_SEND_LEADER_STATUS | | // input structure for CLUSCTL_RESOURCE_DNN_SEND_LEADER_STATUS and for CLUSCTL_R
ESOURCE_DNN_REFRESH_CLONES |
| // | | // |
| typedef struct CLUS_DNN_LEADER_STATUS { | | typedef struct CLUS_DNN_LEADER_STATUS { |
| BOOL IsOnline; // Indicates if the leader is online or is shutting down | | BOOL IsOnline; // Indicates if the leader is online or is shutting down |
| BOOL IsFileServerPresent; // Indicates if a file server is depending on the
netname | | BOOL IsFileServerPresent; // Indicates if a file server is depending on the
netname |
| } CLUS_DNN_LEADER_STATUS , *PCLUS_DNN_LEADER_STATUS; | | } CLUS_DNN_LEADER_STATUS , *PCLUS_DNN_LEADER_STATUS; |
| | |
| // | | // |
| // input structure for CLUSCTL_RESOURCE_DNN_UPDATE_SODAFS_CLONE_STATUS | | // input structure for CLUSCTL_RESOURCE_DNN_UPDATE_SODAFS_CLONE_STATUS |
| // | | // |
| typedef struct CLUS_DNN_SODAFS_CLONE_STATUS { | | typedef struct CLUS_DNN_SODAFS_CLONE_STATUS { |
| | |
| skipping to change at line 4462 | | skipping to change at line 4820 |
| } FILESHARE_CHANGE, *PFILESHARE_CHANGE; | | } FILESHARE_CHANGE, *PFILESHARE_CHANGE; |
| | |
| #pragma warning(push) | | #pragma warning(push) |
| #pragma warning(disable: 4200) | | #pragma warning(disable: 4200) |
| typedef struct _FILESHARE_CHANGE_LIST { | | typedef struct _FILESHARE_CHANGE_LIST { |
| DWORD NumEntries; | | DWORD NumEntries; |
| FILESHARE_CHANGE ChangeEntry[0]; | | FILESHARE_CHANGE ChangeEntry[0]; |
| } FILESHARE_CHANGE_LIST, *PFILESHARE_CHANGE_LIST; | | } FILESHARE_CHANGE_LIST, *PFILESHARE_CHANGE_LIST; |
| #pragma warning(pop) | | #pragma warning(pop) |
| | |
|
| | typedef struct _CLUSCTL_GROUP_GET_LAST_MOVE_TIME_OUTPUT |
| | { |
| | ULONGLONG GetTickCount64; |
| | SYSTEMTIME GetSystemTime; |
| | DWORD NodeId; |
| | } CLUSCTL_GROUP_GET_LAST_MOVE_TIME_OUTPUT, *PCLUSCTL_GROUP_GET_LAST_MOVE_TIME_OU |
| | TPUT; |
| | |
| // Helper for building or parsing a property list buffer. | | // Helper for building or parsing a property list buffer. |
| typedef union CLUSPROP_BUFFER_HELPER { | | typedef union CLUSPROP_BUFFER_HELPER { |
| BYTE * pb; | | BYTE * pb; |
| WORD * pw; | | WORD * pw; |
| DWORD * pdw; | | DWORD * pdw; |
| LONG * pl; | | LONG * pl; |
| LPWSTR psz; | | LPWSTR psz; |
| PCLUSPROP_LIST pList; | | PCLUSPROP_LIST pList; |
| PCLUSPROP_SYNTAX pSyntax; | | PCLUSPROP_SYNTAX pSyntax; |
| PCLUSPROP_PROPERTY_NAME pName; | | PCLUSPROP_PROPERTY_NAME pName; |
| | |
| skipping to change at line 4490 | | skipping to change at line 4855 |
| PCLUSPROP_MULTI_SZ pMultiSzValue; | | PCLUSPROP_MULTI_SZ pMultiSzValue; |
| PCLUSPROP_SECURITY_DESCRIPTOR pSecurityDescriptor; | | PCLUSPROP_SECURITY_DESCRIPTOR pSecurityDescriptor; |
| PCLUSPROP_RESOURCE_CLASS pResourceClassValue; | | PCLUSPROP_RESOURCE_CLASS pResourceClassValue; |
| PCLUSPROP_RESOURCE_CLASS_INFO pResourceClassInfoValue; | | PCLUSPROP_RESOURCE_CLASS_INFO pResourceClassInfoValue; |
| PCLUSPROP_DISK_SIGNATURE pDiskSignatureValue; | | PCLUSPROP_DISK_SIGNATURE pDiskSignatureValue; |
| PCLUSPROP_SCSI_ADDRESS pScsiAddressValue; | | PCLUSPROP_SCSI_ADDRESS pScsiAddressValue; |
| PCLUSPROP_DISK_NUMBER pDiskNumberValue; | | PCLUSPROP_DISK_NUMBER pDiskNumberValue; |
| PCLUSPROP_PARTITION_INFO pPartitionInfoValue; | | PCLUSPROP_PARTITION_INFO pPartitionInfoValue; |
| PCLUSPROP_REQUIRED_DEPENDENCY pRequiredDependencyValue; | | PCLUSPROP_REQUIRED_DEPENDENCY pRequiredDependencyValue; |
| PCLUSPROP_PARTITION_INFO_EX pPartitionInfoValueEx; | | PCLUSPROP_PARTITION_INFO_EX pPartitionInfoValueEx; |
|
| | PCLUSPROP_PARTITION_INFO_EX2 pPartitionInfoValueEx2; |
| PCLUSPROP_FILETIME pFileTimeValue; | | PCLUSPROP_FILETIME pFileTimeValue; |
| } CLUSPROP_BUFFER_HELPER, *PCLUSPROP_BUFFER_HELPER; | | } CLUSPROP_BUFFER_HELPER, *PCLUSPROP_BUFFER_HELPER; |
| | |
| #endif // MIDL_PASS | | #endif // MIDL_PASS |
| | |
| #endif // _CLUSTER_API_TYPES_ | | #endif // _CLUSTER_API_TYPES_ |
| | |
| // Macro for aligning CLUSPROP buffers on a DWORD boundary. | | // Macro for aligning CLUSPROP buffers on a DWORD boundary. |
| #define ALIGN_CLUSPROP( count ) ((count + 3) & ~3) | | #define ALIGN_CLUSPROP( count ) ((count + 3) & ~3) |
| | |
| | |
| skipping to change at line 5468 | | skipping to change at line 5834 |
| | |
| LONG WINAPI ClusterRegCloseReadBatch( | | LONG WINAPI ClusterRegCloseReadBatch( |
| _In_ HREGREADBATCH hRegReadBatch, | | _In_ HREGREADBATCH hRegReadBatch, |
| _Out_ HREGREADBATCHREPLY * phRegReadBatchReply); | | _Out_ HREGREADBATCHREPLY * phRegReadBatchReply); |
| | |
| typedef LONG | | typedef LONG |
| (WINAPI *PCLUSTER_REG_CLOSE_READ_BATCH)( | | (WINAPI *PCLUSTER_REG_CLOSE_READ_BATCH)( |
| _In_ HREGREADBATCH hRegReadBatch, | | _In_ HREGREADBATCH hRegReadBatch, |
| _Out_ HREGREADBATCHREPLY * phRegReadBatchReply); | | _Out_ HREGREADBATCHREPLY * phRegReadBatchReply); |
| | |
|
| | LONG WINAPI ClusterRegCloseReadBatchEx( |
| | _In_ HREGREADBATCH hRegReadBatch, |
| | _In_ DWORD flags, |
| | _Out_ HREGREADBATCHREPLY * phRegReadBatchReply); |
| | |
| | typedef LONG |
| | (WINAPI *PCLUSTER_REG_CLOSE_READ_BATCH_EX)( |
| | _In_ HREGREADBATCH hRegReadBatch, |
| | _In_ DWORD flags, |
| | _Out_ HREGREADBATCHREPLY * phRegReadBatchReply); |
| | |
| LONG WINAPI ClusterRegReadBatchReplyNextCommand( | | LONG WINAPI ClusterRegReadBatchReplyNextCommand( |
| _In_ HREGREADBATCHREPLY hRegReadBatchReply, | | _In_ HREGREADBATCHREPLY hRegReadBatchReply, |
| _Out_ CLUSTER_READ_BATCH_COMMAND * pBatchCommand); | | _Out_ CLUSTER_READ_BATCH_COMMAND * pBatchCommand); |
| | |
| typedef LONG | | typedef LONG |
| (WINAPI *PCLUSTER_REG_READ_BATCH_REPLY_NEXT_COMMAND)( | | (WINAPI *PCLUSTER_REG_READ_BATCH_REPLY_NEXT_COMMAND)( |
| _In_ HREGREADBATCHREPLY hRegReadBatchReply, | | _In_ HREGREADBATCHREPLY hRegReadBatchReply, |
| _Out_ CLUSTER_READ_BATCH_COMMAND * pBatchCommand); | | _Out_ CLUSTER_READ_BATCH_COMMAND * pBatchCommand); |
| | |
| LONG WINAPI ClusterRegCloseReadBatchReply( | | LONG WINAPI ClusterRegCloseReadBatchReply( |
| _In_ HREGREADBATCHREPLY hRegReadBatchReply); | | _In_ HREGREADBATCHREPLY hRegReadBatchReply); |
| | |
| typedef LONG | | typedef LONG |
| (WINAPI *PCLUSTER_REG_CLOSE_READ_BATCH_REPLY)( | | (WINAPI *PCLUSTER_REG_CLOSE_READ_BATCH_REPLY)( |
| _In_ HREGREADBATCHREPLY hRegReadBatchReply); | | _In_ HREGREADBATCHREPLY hRegReadBatchReply); |
| | |
|
| | DWORD |
| | WINAPI |
| | ClusterSetAccountAccess( |
| | _In_ HCLUSTER hCluster, |
| | _In_ LPCWSTR szAccountSID, //Takes in String SID or an account name |
| | _In_ DWORD dwAccess, |
| | _In_ DWORD dwControlType |
| | ); |
| | |
| | typedef DWORD |
| | (WINAPI *PCLUSTER_SET_ACCOUNT_ACCESS)( |
| | _In_ HCLUSTER hCluster, |
| | _In_ LPCWSTR szAccountSID, |
| | _In_ DWORD dwAccess, |
| | _In_ DWORD dwControlType |
| | ); |
| | |
| // | | // |
| // Cluster Create, Add Node and Destroy Cluster APIs | | // Cluster Create, Add Node and Destroy Cluster APIs |
| // | | // |
| | |
| // | | // |
| // Phases that cluster setup operations through. | | // Phases that cluster setup operations through. |
| // Phase numbers may arrive in any order via the callback function. | | // Phase numbers may arrive in any order via the callback function. |
| // | | // |
| | |
| typedef enum _CLUSTER_SETUP_PHASE { | | typedef enum _CLUSTER_SETUP_PHASE { |
| | |
| skipping to change at line 5577 | | skipping to change at line 5971 |
| _In_opt_ PVOID pvCallbackArg | | _In_opt_ PVOID pvCallbackArg |
| ); | | ); |
| | |
| typedef HCLUSTER | | typedef HCLUSTER |
| (WINAPI * PCLUSAPI_CREATE_CLUSTER)( | | (WINAPI * PCLUSAPI_CREATE_CLUSTER)( |
| _In_ PCREATE_CLUSTER_CONFIG pConfig, | | _In_ PCREATE_CLUSTER_CONFIG pConfig, |
| _In_opt_ PCLUSTER_SETUP_PROGRESS_CALLBACK pfnProgressCallback, | | _In_opt_ PCLUSTER_SETUP_PROGRESS_CALLBACK pfnProgressCallback, |
| _In_opt_ PVOID pvCallbackArg | | _In_opt_ PVOID pvCallbackArg |
| ); | | ); |
| | |
|
| | HCLUSTER |
| | WINAPI |
| | CreateClusterCNOless( |
| | _In_ PCREATE_CLUSTER_CONFIG pConfig, |
| | _In_opt_ PCLUSTER_SETUP_PROGRESS_CALLBACK pfnProgressCallback, |
| | _In_opt_ PVOID pvCallbackArg |
| | ); |
| | |
| | typedef HCLUSTER |
| | (WINAPI * PCLUSAPI_CREATE_CLUSTER_CNOLESS)( |
| | _In_ PCREATE_CLUSTER_CONFIG pConfig, |
| | _In_opt_ PCLUSTER_SETUP_PROGRESS_CALLBACK pfnProgressCallback, |
| | _In_opt_ PVOID pvCallbackArg |
| | ); |
| | |
| | DWORD |
| | WINAPI |
| | CreateClusterNameAccount( |
| | _In_ HCLUSTER hCluster, |
| | _In_ PCREATE_CLUSTER_NAME_ACCOUNT pConfig, |
| | _In_opt_ PCLUSTER_SETUP_PROGRESS_CALLBACK pfnProgressCallback, |
| | _In_opt_ PVOID pvCallbackArg |
| | ); |
| | |
| | typedef DWORD |
| | (WINAPI * PCLUSAPI_CREATE_CLUSTER_NAME_ACCOUNT)( |
| | _In_ HCLUSTER hCluster, |
| | _In_ PCREATE_CLUSTER_NAME_ACCOUNT pConfig, |
| | _In_opt_ PCLUSTER_SETUP_PROGRESS_CALLBACK pfnProgressCallback, |
| | _In_opt_ PVOID pvCallbackArg |
| | ); |
| | |
| | DWORD |
| | WINAPI |
| | RegisterClusterResourceTypeNotifyV2 ( |
| | __in HCHANGE hChange, |
| | __in HCLUSTER hCluster, |
| | __in LONGLONG Flags, |
| | __in LPCWSTR resTypeName, |
| | __in DWORD_PTR dwNotifyKey |
| | ); |
| | |
| HNODE | | HNODE |
| WINAPI | | WINAPI |
| AddClusterNode( | | AddClusterNode( |
| _In_ HCLUSTER hCluster, | | _In_ HCLUSTER hCluster, |
| _In_ PCWSTR lpszNodeName, | | _In_ PCWSTR lpszNodeName, |
| _In_opt_ PCLUSTER_SETUP_PROGRESS_CALLBACK pfnProgressCallback, | | _In_opt_ PCLUSTER_SETUP_PROGRESS_CALLBACK pfnProgressCallback, |
| _In_opt_ PVOID pvCallbackArg | | _In_opt_ PVOID pvCallbackArg |
| ); | | ); |
| | |
| typedef HNODE | | typedef HNODE |
| | |
| skipping to change at line 5649 | | skipping to change at line 6085 |
| #define CLUS_RESTYPE_NAME_FILESERVER L"File Server" | | #define CLUS_RESTYPE_NAME_FILESERVER L"File Server" |
| #define CLUS_RESTYPE_NAME_SODAFILESERVER L"Scale Out File Server" | | #define CLUS_RESTYPE_NAME_SODAFILESERVER L"Scale Out File Server" |
| #define CLUS_RESTYPE_NAME_DFS L"Distributed File System" | | #define CLUS_RESTYPE_NAME_DFS L"Distributed File System" |
| #define CLUS_RESTYPE_NAME_DFSR L"DFS Replicated Folder" | | #define CLUS_RESTYPE_NAME_DFSR L"DFS Replicated Folder" |
| #define CLUS_RESTYPE_NAME_VM L"Virtual Machine" | | #define CLUS_RESTYPE_NAME_VM L"Virtual Machine" |
| #define CLUS_RESTYPE_NAME_VM_CONFIG L"Virtual Machine Configuration" | | #define CLUS_RESTYPE_NAME_VM_CONFIG L"Virtual Machine Configuration" |
| #define CLUS_RESTYPE_NAME_ISCSITARGET L"iSCSI Target Server" | | #define CLUS_RESTYPE_NAME_ISCSITARGET L"iSCSI Target Server" |
| #define CLUS_RESTYPE_NAME_STORAGE_POOL L"Storage Pool" | | #define CLUS_RESTYPE_NAME_STORAGE_POOL L"Storage Pool" |
| #define CLUS_RESTYPE_NAME_TASKSCHEDULER L"Task Scheduler" | | #define CLUS_RESTYPE_NAME_TASKSCHEDULER L"Task Scheduler" |
| #define CLUS_RESTYPE_NAME_VMREPLICA_BROKER L"Virtual Machine Replication Br
oker" | | #define CLUS_RESTYPE_NAME_VMREPLICA_BROKER L"Virtual Machine Replication Br
oker" |
|
| | #define CLUS_RESTYPE_NAME_VMREPLICA_COORDINATOR L"Virtual Machine Replicati
on Coordinator" |
| #define CLUS_RESTYPE_NAME_NFS_V2 L"Network File System" | | #define CLUS_RESTYPE_NAME_NFS_V2 L"Network File System" |
| #define CLUS_RESTYPE_NAME_CAU L"ClusterAwareUpdatingResource" | | #define CLUS_RESTYPE_NAME_CAU L"ClusterAwareUpdatingResource" |
| #define CLUS_RESTYPE_NAME_NV_PROVIDER_ADDRESS L"Provider Address" | | #define CLUS_RESTYPE_NAME_NV_PROVIDER_ADDRESS L"Provider Address" |
| #define CLUS_RESTYPE_NAME_NAT L"Nat" | | #define CLUS_RESTYPE_NAME_NAT L"Nat" |
|
| | #define CLUS_RESTYPE_NAME_STORAGE_POLICIES L"Storage Policies" |
| | #define CLUS_RESTYPE_NAME_STORQOS L"Storage QoS Policy Manager" |
| | #define CLUS_RESTYPE_NAME_HEALTH_SERVICE L"Health Service" |
| | #define CLUS_RESTYPE_NAME_VM_WMI L"Virtual Machine Cluster WMI" |
| | |
| #define CLUS_RESTYPE_NAME_VIRTUAL_IPV4 L"Disjoint IPv4 Address" | | #define CLUS_RESTYPE_NAME_VIRTUAL_IPV4 L"Disjoint IPv4 Address" |
| #define CLUS_RESTYPE_NAME_VIRTUAL_IPV6 L"Disjoint IPv6 Address" | | #define CLUS_RESTYPE_NAME_VIRTUAL_IPV6 L"Disjoint IPv6 Address" |
|
| | #define CLUS_RESTYPE_NAME_CLOUD_WITNESS L"Cloud Witness" |
| | #define CLUS_RESTYPE_NAME_STORAGE_REPLICA L"Storage Replica" |
| | |
| // | | // |
| // Cluster common property names | | // Cluster common property names |
| // | | // |
| | |
| #define CLUSREG_NAME_CLUS_DESC L"Description" | | #define CLUSREG_NAME_CLUS_DESC L"Description" |
| #define CLUSREG_NAME_CLUS_SD L"Security Descriptor" | | #define CLUSREG_NAME_CLUS_SD L"Security Descriptor" |
| #define CLUSREG_NAME_CLUS_DEFAULT_NETWORK_ROLE L"DefaultNetworkRole" | | #define CLUSREG_NAME_CLUS_DEFAULT_NETWORK_ROLE L"DefaultNetworkRole" |
| #define CLUSREG_NAME_QUORUM_ARBITRATION_TIMEOUT L"QuorumArbitrationTimeMax" | | #define CLUSREG_NAME_QUORUM_ARBITRATION_TIMEOUT L"QuorumArbitrationTimeMax" |
| #define CLUSTER_HANG_TIMEOUT_KEYNAME L"ClusSvcHangTimeout" | | #define CLUSTER_HANG_TIMEOUT_KEYNAME L"ClusSvcHangTimeout" |
| | |
| skipping to change at line 5695 | | skipping to change at line 6139 |
| #define CLUSREG_NAME_CSV_MDS_SD L"SharedVolumeSecurityDescrip
tor" | | #define CLUSREG_NAME_CSV_MDS_SD L"SharedVolumeSecurityDescrip
tor" |
| #define CLUSREG_NAME_FAILOVER_MOVE_MIGRATION_TYPE L"FailoverMoveMigrationType" | | #define CLUSREG_NAME_FAILOVER_MOVE_MIGRATION_TYPE L"FailoverMoveMigrationType" |
| #define CLUSREG_NAME_CSV_BLOCK_CACHE L"BlockCacheSize" | | #define CLUSREG_NAME_CSV_BLOCK_CACHE L"BlockCacheSize" |
| #define CLUSREG_NAME_ROUTE_HISTORY_LENGTH L"RouteHistoryLength" | | #define CLUSREG_NAME_ROUTE_HISTORY_LENGTH L"RouteHistoryLength" |
| #define CLUSREG_NAME_LAST_RECENT_EVENTS_RESET_TIME L"RecentEventsResetTime" | | #define CLUSREG_NAME_LAST_RECENT_EVENTS_RESET_TIME L"RecentEventsResetTime" |
| #define CLUSREG_NAME_DRAIN_ON_SHUTDOWN L"DrainOnShutdown" | | #define CLUSREG_NAME_DRAIN_ON_SHUTDOWN L"DrainOnShutdown" |
| #define CLUSREG_NAME_NETFT_IPSEC_ENABLED L"NetftIPSecEnabled" | | #define CLUSREG_NAME_NETFT_IPSEC_ENABLED L"NetftIPSecEnabled" |
| #define CLUSREG_NAME_WITNESS_DYNAMIC_WEIGHT L"WitnessDynamicWeight" | | #define CLUSREG_NAME_WITNESS_DYNAMIC_WEIGHT L"WitnessDynamicWeight" |
| #define CLUSREG_NAME_MESSAGE_BUFFER_LENGTH L"MessageBufferLength" | | #define CLUSREG_NAME_MESSAGE_BUFFER_LENGTH L"MessageBufferLength" |
| #define CLUSREG_NAME_DATABASE_READ_WRITE_MODE L"DatabaseReadWriteMode" | | #define CLUSREG_NAME_DATABASE_READ_WRITE_MODE L"DatabaseReadWriteMode" |
|
| | #define CLUSREG_NAME_FUNCTIONAL_LEVEL L"ClusterFunctionalLevel" |
| | //#define CLUSREG_NAME_MIXED_MODE L"MixedVersionNodes" |
| | #define CLUSREG_NAME_RESILIENCY_LEVEL L"ResiliencyLevel" |
| | #define CLUSREG_NAME_RESILIENCY_DEFAULT_SECONDS L"ResiliencyDefaultPeriod" |
| | #define CLUSREG_NAME_QUARANTINE_THRESHOLD L"QuarantineThreshold" |
| | #define CLUSREG_NAME_QUARANTINE_DURATION L"QuarantineDuration" |
| | #define CLUSTER_S2D_ENABLED L"S2DEnabled" |
| | #define CLUSTER_S2D_BUS_TYPES L"S2DBusTypes" |
| | #define CLUSTER_S2D_OPTIMIZATIONS L"S2DOptimizations" |
| | #define CLUSTER_S2D_IO_LATENCY_THRESHOLD L"S2DIOLatencyThreshold" |
| | #define CLUSTER_S2D_CACHE_DESIRED_STATE L"S2DCacheDesiredState" |
| | #define CLUSTER_S2D_CACHE_METADATA_RESERVE L"S2DCacheMetadataReserveByte |
| | s" |
| | #define CLUSTER_S2D_CACHE_FLASH_RESERVE_PERCENT L"S2DCacheFlashReservePercent |
| | " |
| | #define CLUSTER_S2D_CACHE_BEHAVIOR_FLAGS L"S2DCacheBehavior" |
| | #define CLUSTER_NAME_PREFERRED_SITE L"PreferredSite" |
| | #define CLUSTER_NAME_AUTO_BALANCER L"AutoBalancer" |
| | |
| // | | // |
| // Properties and defaults for single and multi subnet delays and thresholds. | | // Properties and defaults for single and multi subnet delays and thresholds. |
| // | | // |
| | |
| #define CLUSREG_NAME_SAME_SUBNET_DELAY L"SameSubnetDelay" | | #define CLUSREG_NAME_SAME_SUBNET_DELAY L"SameSubnetDelay" |
| #define CLUSREG_NAME_CROSS_SUBNET_DELAY L"CrossSubnetDelay" | | #define CLUSREG_NAME_CROSS_SUBNET_DELAY L"CrossSubnetDelay" |
|
| | #define CLUSREG_NAME_CROSS_SITE_DELAY L"CrossSiteDelay" |
| #define CLUSREG_NAME_SAME_SUBNET_THRESHOLD L"SameSubnetThreshold" | | #define CLUSREG_NAME_SAME_SUBNET_THRESHOLD L"SameSubnetThreshold" |
|
| #define CLUSREG_NAME_PLUMB_ALL_CROSS_SUBNET_ROUTES L"PlumbAllCrossSubnetRoutes" | | |
| #define CLUSREG_NAME_CROSS_SUBNET_THRESHOLD L"CrossSubnetThreshold" | | #define CLUSREG_NAME_CROSS_SUBNET_THRESHOLD L"CrossSubnetThreshold" |
|
| | #define CLUSREG_NAME_CROSS_SITE_THRESHOLD L"CrossSiteThreshold" |
| | #define CLUSREG_NAME_PLUMB_ALL_CROSS_SUBNET_ROUTES L"PlumbAllCrossSubnetRoutes" |
| | |
| // | | // |
| // Node common property names | | // Node common property names |
| // | | // |
| | |
| #define CLUSREG_NAME_NODE_NAME L"NodeName" | | #define CLUSREG_NAME_NODE_NAME L"NodeName" |
| #define CLUSREG_NAME_NODE_HIGHEST_VERSION L"NodeHighestVersion" | | #define CLUSREG_NAME_NODE_HIGHEST_VERSION L"NodeHighestVersion" |
| #define CLUSREG_NAME_NODE_LOWEST_VERSION L"NodeLowestVersion" | | #define CLUSREG_NAME_NODE_LOWEST_VERSION L"NodeLowestVersion" |
| #define CLUSREG_NAME_NODE_DESC L"Description" | | #define CLUSREG_NAME_NODE_DESC L"Description" |
| #define CLUSREG_NAME_NODE_MAJOR_VERSION L"MajorVersion" | | #define CLUSREG_NAME_NODE_MAJOR_VERSION L"MajorVersion" |
| #define CLUSREG_NAME_NODE_MINOR_VERSION L"MinorVersion" | | #define CLUSREG_NAME_NODE_MINOR_VERSION L"MinorVersion" |
| #define CLUSREG_NAME_NODE_BUILD_NUMBER L"BuildNumber" | | #define CLUSREG_NAME_NODE_BUILD_NUMBER L"BuildNumber" |
| #define CLUSREG_NAME_NODE_CSDVERSION L"CSDVersion" | | #define CLUSREG_NAME_NODE_CSDVERSION L"CSDVersion" |
| #define CLUSREG_NAME_NODE_WEIGHT L"NodeWeight" | | #define CLUSREG_NAME_NODE_WEIGHT L"NodeWeight" |
| #define CLUSREG_NAME_NODE_DYNAMIC_WEIGHT L"DynamicWeight" | | #define CLUSREG_NAME_NODE_DYNAMIC_WEIGHT L"DynamicWeight" |
| #define CLUSREG_NAME_NODE_IS_PRIMARY L"IsPrimary" | | #define CLUSREG_NAME_NODE_IS_PRIMARY L"IsPrimary" |
| #define CLUSREG_NAME_NODE_DRAIN_STATUS L"NodeDrainStatus" | | #define CLUSREG_NAME_NODE_DRAIN_STATUS L"NodeDrainStatus" |
| #define CLUSREG_NAME_NODE_DRAIN_TARGET L"NodeDrainTarget" | | #define CLUSREG_NAME_NODE_DRAIN_TARGET L"NodeDrainTarget" |
| #define CLUSREG_NAME_NODE_NEEDS_PQ L"NeedsPreventQuorum" | | #define CLUSREG_NAME_NODE_NEEDS_PQ L"NeedsPreventQuorum" |
|
| | #define CLUSREG_NAME_NODE_FDID L"FaultDomainId" |
| | #define CLUSREG_NAME_NODE_STATUS_INFO L"StatusInformation" |
| | #define CLUSREG_NAME_NODE_SITE L"Site" |
| | |
| // | | // |
| // Group common property names | | // Group common property names |
| // | | // |
| | |
| #define CLUSREG_NAME_GRP_NAME L"Name" | | #define CLUSREG_NAME_GRP_NAME L"Name" |
| #define CLUSREG_NAME_GRP_TYPE L"GroupType" | | #define CLUSREG_NAME_GRP_TYPE L"GroupType" |
| #define CLUSREG_NAME_GRP_DESC L"Description" | | #define CLUSREG_NAME_GRP_DESC L"Description" |
| #define CLUSREG_NAME_GRP_PERSISTENT_STATE L"PersistentState" | | #define CLUSREG_NAME_GRP_PERSISTENT_STATE L"PersistentState" |
| #define CLUSREG_NAME_GRP_FAILBACK_TYPE L"AutoFailbackType" | | #define CLUSREG_NAME_GRP_FAILBACK_TYPE L"AutoFailbackType" |
| #define CLUSREG_NAME_GRP_FAILBACK_WIN_START L"FailbackWindowStart
" | | #define CLUSREG_NAME_GRP_FAILBACK_WIN_START L"FailbackWindowStart
" |
| #define CLUSREG_NAME_GRP_FAILBACK_WIN_END L"FailbackWindowEnd" | | #define CLUSREG_NAME_GRP_FAILBACK_WIN_END L"FailbackWindowEnd" |
| #define CLUSREG_NAME_GRP_FAILOVER_THRESHOLD L"FailoverThreshold" | | #define CLUSREG_NAME_GRP_FAILOVER_THRESHOLD L"FailoverThreshold" |
| #define CLUSREG_NAME_GRP_FAILOVER_PERIOD L"FailoverPeriod" | | #define CLUSREG_NAME_GRP_FAILOVER_PERIOD L"FailoverPeriod" |
| #define CLUSREG_NAME_GRP_PRIORITY L"Priority" | | #define CLUSREG_NAME_GRP_PRIORITY L"Priority" |
| #define CLUSREG_NAME_GRP_DEFAULT_OWNER L"DefaultOwner" | | #define CLUSREG_NAME_GRP_DEFAULT_OWNER L"DefaultOwner" |
| #define CLUSREG_NAME_GRP_STATUS_INFORMATION L"StatusInformation" | | #define CLUSREG_NAME_GRP_STATUS_INFORMATION L"StatusInformation" |
| #define CLUSREG_NAME_GRP_ANTI_AFFINITY_CLASS_NAME L"AntiAffinityClassNa
mes" | | #define CLUSREG_NAME_GRP_ANTI_AFFINITY_CLASS_NAME L"AntiAffinityClassNa
mes" |
| #define CLUSREG_NAME_GRP_START_DELAY L"GroupStartDelay" | | #define CLUSREG_NAME_GRP_START_DELAY L"GroupStartDelay" |
|
| | #define CLUSREG_NAME_GRP_CCF_EPOCH L"CCFEpoch" |
| | #define CLUSREG_NAME_GRP_RESILIENCY_PERIOD L"ResiliencyPeriod" |
| | #define CLUSREG_NAME_GRP_PREFERRED_SITE L"PreferredSite" |
| | |
| // | | // |
| // Resource common property names | | // Resource common property names |
| // | | // |
| | |
| #define CLUSREG_NAME_RES_NAME L"Name" | | #define CLUSREG_NAME_RES_NAME L"Name" |
| #define CLUSREG_NAME_RES_TYPE L"Type" | | #define CLUSREG_NAME_RES_TYPE L"Type" |
| #define CLUSREG_NAME_RES_DESC L"Description" | | #define CLUSREG_NAME_RES_DESC L"Description" |
| #define CLUSREG_NAME_RES_SEPARATE_MONITOR L"SeparateMonitor" | | #define CLUSREG_NAME_RES_SEPARATE_MONITOR L"SeparateMonitor" |
| #define CLUSREG_NAME_RES_PERSISTENT_STATE L"PersistentState" | | #define CLUSREG_NAME_RES_PERSISTENT_STATE L"PersistentState" |
| | |
| skipping to change at line 5782 | | skipping to change at line 6250 |
| // | | // |
| | |
| #define CLUSREG_NAME_RESTYPE_NAME L"Name" | | #define CLUSREG_NAME_RESTYPE_NAME L"Name" |
| #define CLUSREG_NAME_RESTYPE_DESC L"Description" | | #define CLUSREG_NAME_RESTYPE_DESC L"Description" |
| #define CLUSREG_NAME_RESTYPE_DLL_NAME L"DllName" | | #define CLUSREG_NAME_RESTYPE_DLL_NAME L"DllName" |
| #define CLUSREG_NAME_RESTYPE_ADMIN_EXTENSIONS L"AdminExtensions" | | #define CLUSREG_NAME_RESTYPE_ADMIN_EXTENSIONS L"AdminExtensions" |
| #define CLUSREG_NAME_RESTYPE_LOOKS_ALIVE CLUSREG_NAME_RES_LOOKS_ALIVE | | #define CLUSREG_NAME_RESTYPE_LOOKS_ALIVE CLUSREG_NAME_RES_LOOKS_ALIVE |
| #define CLUSREG_NAME_RESTYPE_IS_ALIVE CLUSREG_NAME_RES_IS_ALIVE | | #define CLUSREG_NAME_RESTYPE_IS_ALIVE CLUSREG_NAME_RES_IS_ALIVE |
| #define CLUSREG_NAME_RESTYPE_PENDING_TIMEOUT CLUSREG_NAME_RES_PENDING_TIMEOUT | | #define CLUSREG_NAME_RESTYPE_PENDING_TIMEOUT CLUSREG_NAME_RES_PENDING_TIMEOUT |
| #define CLUSREG_NAME_RESTYPE_DEADLOCK_TIMEOUT CLUSREG_NAME_RES_DEADLOCK_TIMEOU
T | | #define CLUSREG_NAME_RESTYPE_DEADLOCK_TIMEOUT CLUSREG_NAME_RES_DEADLOCK_TIMEOU
T |
|
| | #define CLUSREG_NAME_RESTYPE_DUMP_POLICY L"DumpPolicy" |
| | #define CLUSREG_NAME_RESTYPE_DUMP_LOG_QUERY L"DumpLogQuery" |
| | #define CLUSREG_NAME_RESTYPE_DUMP_SERVICES L"DumpServices" |
| | #define CLUSREG_NAME_RESTYPE_ENABLED_EVENT_LOGS L"EnabledEventLogs" |
| | #define CLUSREG_NAME_RESTYPE_MAX_MONITORS L"MaximumMonitors" |
| | |
| // | | // |
| // Network common property names | | // Network common property names |
| // | | // |
| | |
| #define CLUSREG_NAME_NET_NAME L"Name" | | #define CLUSREG_NAME_NET_NAME L"Name" |
| #define CLUSREG_NAME_NET_IPV6_ADDRESSES L"IPv6Addresses" | | #define CLUSREG_NAME_NET_IPV6_ADDRESSES L"IPv6Addresses" |
| #define CLUSREG_NAME_NET_IPV6_PREFIXLENGTHS L"IPv6PrefixLengths" | | #define CLUSREG_NAME_NET_IPV6_PREFIXLENGTHS L"IPv6PrefixLengths" |
| #define CLUSREG_NAME_NET_IPV4_ADDRESSES L"IPv4Addresses" | | #define CLUSREG_NAME_NET_IPV4_ADDRESSES L"IPv4Addresses" |
| #define CLUSREG_NAME_NET_IPV4_PREFIXLENGTHS L"IPv4PrefixLengths" | | #define CLUSREG_NAME_NET_IPV4_PREFIXLENGTHS L"IPv4PrefixLengths" |
| | |
| skipping to change at line 5846 | | skipping to change at line 6319 |
| #define CLUSREG_NAME_PHYSDISK_DISKVOLUMEINFO L"DiskVolumeInfo" | | #define CLUSREG_NAME_PHYSDISK_DISKVOLUMEINFO L"DiskVolumeInfo" |
| #define CLUSREG_NAME_PHYSDISK_DISKARBTYPE L"DiskArbType" | | #define CLUSREG_NAME_PHYSDISK_DISKARBTYPE L"DiskArbType" |
| #define CLUSREG_NAME_PHYSDISK_DISKARBINTERVAL L"DiskArbInterval" | | #define CLUSREG_NAME_PHYSDISK_DISKARBINTERVAL L"DiskArbInterval" |
| #define CLUSREG_NAME_PHYSDISK_DISKPATH L"DiskPath" | | #define CLUSREG_NAME_PHYSDISK_DISKPATH L"DiskPath" |
| #define CLUSREG_NAME_PHYSDISK_DISKRELOAD L"DiskReload" | | #define CLUSREG_NAME_PHYSDISK_DISKRELOAD L"DiskReload" |
| #define CLUSREG_NAME_PHYSDISK_MAINTMODE L"MaintenanceMode" | | #define CLUSREG_NAME_PHYSDISK_MAINTMODE L"MaintenanceMode" |
| #define CLUSREG_NAME_PHYSDISK_DISKIODELAY L"MaxIoLatency" | | #define CLUSREG_NAME_PHYSDISK_DISKIODELAY L"MaxIoLatency" |
| #define CLUSREG_NAME_PHYSDISK_MIGRATEFIXUP L"MigrateDriveLetters" | | #define CLUSREG_NAME_PHYSDISK_MIGRATEFIXUP L"MigrateDriveLetters" |
| #define CLUSREG_NAME_PHYSDISK_CSVWRITETHROUGH L"CsvEnforceWriteThrough" | | #define CLUSREG_NAME_PHYSDISK_CSVWRITETHROUGH L"CsvEnforceWriteThrough" |
| #define CLUSREG_NAME_PHYSDISK_CSVBLOCKCACHE L"EnableBlockCache" | | #define CLUSREG_NAME_PHYSDISK_CSVBLOCKCACHE L"EnableBlockCache" |
|
| | #define CLUSREG_NAME_PHYSDISK_FASTONLINEARBITRATE L"FastOnlineArbitrate" |
| #define CLUSREG_NAME_PHYSDISK_SPACEIDGUID L"VirtualDiskId" | | #define CLUSREG_NAME_PHYSDISK_SPACEIDGUID L"VirtualDiskId" |
| #define CLUSREG_NAME_STORAGESPACE_POOLIDGUID L"PoolId" | | #define CLUSREG_NAME_STORAGESPACE_POOLIDGUID L"PoolId" |
| #define CLUSREG_NAME_PHYSDISK_CSVSNAPSHOTDIFFAREASIZE L"SnapshotDiffSize" | | #define CLUSREG_NAME_PHYSDISK_CSVSNAPSHOTDIFFAREASIZE L"SnapshotDiffSize" |
| #define CLUSREG_NAME_PHYSDISK_CSVSNAPSHOTAGELIMIT L"SnapshotAgeLimit" | | #define CLUSREG_NAME_PHYSDISK_CSVSNAPSHOTAGELIMIT L"SnapshotAgeLimit" |
|
| | #define CLUSREG_NAME_PHYSDISK_DISKGUID L"DiskGuid" |
| | #define CLUSREG_NAME_PHYSDISK_VOLSNAPACTIVATETIMEOUT L"VolsnapActivateTimeout" |
| | |
| #define CLUSREG_NAME_STORAGESPACE_NAME L"VirtualDiskName" | | #define CLUSREG_NAME_STORAGESPACE_NAME L"VirtualDiskName" |
| #define CLUSREG_NAME_STORAGESPACE_DESCRIPTION L"VirtualDiskDescription
" | | #define CLUSREG_NAME_STORAGESPACE_DESCRIPTION L"VirtualDiskDescription
" |
| #define CLUSREG_NAME_STORAGESPACE_HEALTH L"VirtualDiskHealth" | | #define CLUSREG_NAME_STORAGESPACE_HEALTH L"VirtualDiskHealth" |
| #define CLUSREG_NAME_STORAGESPACE_STATE L"VirtualDiskState" | | #define CLUSREG_NAME_STORAGESPACE_STATE L"VirtualDiskState" |
| #define CLUSREG_NAME_STORAGESPACE_PROVISIONING L"VirtualDiskProvisionin
g" | | #define CLUSREG_NAME_STORAGESPACE_PROVISIONING L"VirtualDiskProvisionin
g" |
| #define CLUSREG_NAME_STORAGESPACE_RESILIENCYTYPE L"VirtualDiskResiliencyT
ype" | | #define CLUSREG_NAME_STORAGESPACE_RESILIENCYTYPE L"VirtualDiskResiliencyT
ype" |
| #define CLUSREG_NAME_STORAGESPACE_RESILIENCYCOLUMNS L"VirtualDiskResiliencyC
olumns" | | #define CLUSREG_NAME_STORAGESPACE_RESILIENCYCOLUMNS L"VirtualDiskResiliencyC
olumns" |
| #define CLUSREG_NAME_STORAGESPACE_RESILIENCYINTERLEAVE L"VirtualDiskResiliencyI
nterleave" | | #define CLUSREG_NAME_STORAGESPACE_RESILIENCYINTERLEAVE L"VirtualDiskResiliencyI
nterleave" |
| | |
| | |
| skipping to change at line 6008 | | skipping to change at line 6484 |
| #define CLUSREG_NAME_STORAGESPACE_POOLNAME L"Name" | | #define CLUSREG_NAME_STORAGESPACE_POOLNAME L"Name" |
| #define CLUSREG_NAME_STORAGESPACE_POOLDESC L"Description" | | #define CLUSREG_NAME_STORAGESPACE_POOLDESC L"Description" |
| #define CLUSREG_NAME_STORAGESPACE_POOLDRIVEIDS L"DriveIds" | | #define CLUSREG_NAME_STORAGESPACE_POOLDRIVEIDS L"DriveIds" |
| #define CLUSREG_NAME_STORAGESPACE_POOLHEALTH L"Health" | | #define CLUSREG_NAME_STORAGESPACE_POOLHEALTH L"Health" |
| #define CLUSREG_NAME_STORAGESPACE_POOLSTATE L"State" | | #define CLUSREG_NAME_STORAGESPACE_POOLSTATE L"State" |
| #define CLUSREG_NAME_STORAGESPACE_POOLTOTALCAPACITY L"TotalCapacity" | | #define CLUSREG_NAME_STORAGESPACE_POOLTOTALCAPACITY L"TotalCapacity" |
| #define CLUSREG_NAME_STORAGESPACE_POOLCONSUMEDCAPACITY L"ConsumedCapacity" | | #define CLUSREG_NAME_STORAGESPACE_POOLCONSUMEDCAPACITY L"ConsumedCapacity" |
| | |
| #define CLUSREG_NAME_STORAGESPACE_POOLARBITRATE L"Arbitrate" | | #define CLUSREG_NAME_STORAGESPACE_POOLARBITRATE L"Arbitrate" |
| #define CLUSREG_NAME_STORAGESPACE_POOLREEVALTIMEOUT L"ReEvaluatePlacementTim
eout" | | #define CLUSREG_NAME_STORAGESPACE_POOLREEVALTIMEOUT L"ReEvaluatePlacementTim
eout" |
|
| | #define CLUSREG_NAME_STORAGESPACE_POOLQUORUMSHARE L"PoolQuorumShare" |
| | #define CLUSREG_NAME_STORAGESPACE_POOLQUORUMUSERACCOUNT L"PoolQuorumUserAccount" |
| | |
| // | | // |
| // VIP Address | | // VIP Address |
| // | | // |
| #define CLUSREG_NAME_VIP_PREFIX_LENGTH L"PrefixLength" | | #define CLUSREG_NAME_VIP_PREFIX_LENGTH L"PrefixLength" |
| #define CLUSREG_NAME_VIP_ADAPTER_NAME L"AdapterName" | | #define CLUSREG_NAME_VIP_ADAPTER_NAME L"AdapterName" |
| #define CLUSREG_NAME_VIP_ADDRESS L"Address" | | #define CLUSREG_NAME_VIP_ADDRESS L"Address" |
| #define CLUSREG_NAME_VIP_VSID L"VSID" | | #define CLUSREG_NAME_VIP_VSID L"VSID" |
| #define CLUSREG_NAME_VIP_RDID L"RDID" | | #define CLUSREG_NAME_VIP_RDID L"RDID" |
| | |
| // | | // |
|
| | // Cloud Witness |
| | // |
| | #define CLUSREG_NAME_CLOUDWITNESS_PRIMARY_TOKEN L"PrimaryToken" |
| | #define CLUSREG_NAME_CLOUDWITNESS_ACCOUNT_NAME L"AccountName" |
| | #define CLUSREG_NAME_CLOUDWITNESS_ENDPOINT_INFO L"EndpointInfo" |
| | #define CLOUD_WITNESS_CONTAINER_NAME L"msft-cloud-witness" |
| | |
| | // Storage Replica |
| | #define CLUS_NAME_RES_TYPE_SOURCE_RESID L"SourceResourceId" |
| | #define CLUS_NAME_RES_TYPE_TARGET_RESID L"TargetResourceId" |
| | #define CLUS_NAME_RES_TYPE_SOURCE_VOLUMES L"SourceVolumes" |
| | #define CLUS_NAME_RES_TYPE_TARGET_VOLUMES L"TargetVolumes" |
| | #define CLUS_NAME_RES_TYPE_DATA_RESID L"DataResourceId" |
| | #define CLUS_NAME_RES_TYPE_LOG_RESID L"LogResourceId" |
| | #define CLUS_NAME_RES_TYPE_LOG_VOLUME L"LogVolume" |
| | #define CLUS_NAME_RES_TYPE_REPLICATION_GROUPID L"ReplicationGroupId" |
| | #define CLUS_NAME_RES_TYPE_CLUSTER_GROUPID L"ClusterGroupId" |
| | #define CLUS_NAME_RES_TYPE_REPLICATION_GROUP_TYPE L"ReplicationClusterGrou |
| | pType" |
| | #define CLUS_NAME_RES_TYPE_MINIMUM_LOG_SIZE L"MinimumLogSizeInBytes" |
| | #define CLUS_NAME_RES_TYPE_UNIT_LOG_SIZE_CHANGE L"UnitOfLogSizeChangeInB |
| | ytes" |
| | #define CLUS_NAME_RES_TYPE_LOG_MULTIPLE L"LogSizeMultiple" |
| | |
| | #define SR_REPLICATED_PARTITION_DISALLOW_MULTINODE_IO 0x00000001 |
| | |
| | typedef struct _SR_RESOURCE_TYPE_REPLICATED_PARTITION_INFO |
| | { |
| | ULONGLONG PartitionOffset; /**< Offset of the partition i |
| | n the disk */ |
| | ULONG Capabilities; /**< Capabilities of replicate |
| | d partition*/ |
| | } SR_RESOURCE_TYPE_REPLICATED_PARTITION_INFO, *PSR_RESOURCE_TYPE_REPLICATED_PART |
| | ITION_INFO; |
| | |
| | typedef struct _SR_RESOURCE_TYPE_REPLICATED_PARTITION_ARRAY |
| | { |
| | DWORD Count; /**< Count |
| | of all replicated partitions on the disk*/ |
| | SR_RESOURCE_TYPE_REPLICATED_PARTITION_INFO PartitionArray[1]; /**< Variab |
| | le size array of all replicated partitions on the disk*/ |
| | } SR_RESOURCE_TYPE_REPLICATED_PARTITION_ARRAY, *PSR_RESOURCE_TYPE_REPLICATED_PAR |
| | TITION_ARRAY; |
| | |
| | // |
| | // Storage Replica structures and enums used to get replication information from |
| | the replication resource types |
| | // |
| | typedef enum _SR_REPLICATED_DISK_TYPE |
| | { |
| | SrReplicatedDiskTypeNone = 0, |
| | SrReplicatedDiskTypeSource = 1, |
| | SrReplicatedDiskTypeLogSource = 2, |
| | SrReplicatedDiskTypeDestination = 3, |
| | SrReplicatedDiskTypeLogDestination = 4, |
| | SrReplicatedDiskTypeNotInParthership = 5, |
| | SrReplicatedDiskTypeLogNotInParthership = 6, |
| | SrReplicatedDiskTypeOther |
| | } SR_REPLICATED_DISK_TYPE, *PSR_REPLICATED_DISK_TYPE; |
| | |
| | typedef enum _SR_DISK_REPLICATION_ELIGIBLE |
| | { |
| | SrDiskReplicationEligibleNone = 0, |
| | SrDiskReplicationEligibleYes = 1, |
| | SrDiskReplicationEligibleOffline = 2, |
| | SrDiskReplicationEligibleNotGpt = 3, |
| | SrDiskReplicationEligiblePartitionLayoutMismatch = 4, |
| | SrDiskReplicationEligibleInsufficientFreeSpace = 5, |
| | SrDiskReplicationEligibleNotInSameSite = 6, |
| | SrDiskReplicationEligibleInSameSite = 7, |
| | SrDiskReplicationEligibleFileSystemNotSupported = 8, |
| | SrDiskReplicationEligibleAlreadyInReplication = 9, |
| | SrDiskReplicationEligibleSameAsSpecifiedDisk = 10, |
| | SrDiskReplicationEligibleOther = 9999 |
| | } SR_DISK_REPLICATION_ELIGIBLE, *PSR_DISK_REPLICATION_ELIGIBLE; |
| | |
| | typedef struct _SR_RESOURCE_TYPE_QUERY_ELIGIBLE_LOGDISKS |
| | { |
| | GUID DataDiskGuid; /**< Cluster resource identifier of dat |
| | a disk.*/ |
| | BOOLEAN IncludeOfflineDisks; /**< When TRUE, the result set includes |
| | all the offline disks in Available Storage group.*/ |
| | } SR_RESOURCE_TYPE_QUERY_ELIGIBLE_LOGDISKS, *PSR_RESOURCE_TYPE_QUERY_ELIGIBLE_LO |
| | GDISKS; |
| | |
| | typedef struct _SR_RESOURCE_TYPE_ELIGIBLE_TARGET_DATADISKS |
| | { |
| | GUID SourceDataDiskGuid; /**< Cluster resource identifier of dat |
| | a disk.*/ |
| | BOOLEAN SkipConnectivityCheck; /**< When TRUE, even the disks that are |
| | connected to same nodes as the source disk are included in result set.*/ |
| | BOOLEAN IncludeOfflineDisks; /**< When TRUE, the result set includes |
| | offline disks in Available Storage group.*/ |
| | } SR_RESOURCE_TYPE_QUERY_ELIGIBLE_TARGET_DATADISKS, *PSR_RESOURCE_TYPE_QUERY_ELI |
| | GIBLE_TARGET_DATADISKS; |
| | |
| | typedef struct _SR_RESOURCE_TYPE_ELIGIBLE_SOURCE_DATADISKS |
| | { |
| | GUID DataDiskGuid; /**< Cluster resource identifi |
| | er of data disk.*/ |
| | BOOLEAN IncludeAvailableStoargeDisks; /**< When TRUE, the result set |
| | includes disks in Available Storage group.*/ |
| | } SR_RESOURCE_TYPE_QUERY_ELIGIBLE_SOURCE_DATADISKS, *PSR_RESOURCE_TYPE_QUERY_ELI |
| | GIBLE_SOURCE_DATADISKS; |
| | |
| | typedef struct _SR_RESOURCE_TYPE_DISK_INFO |
| | { |
| | SR_DISK_REPLICATION_ELIGIBLE Reason; /**< Number of |
| | disks in the result set.*/ |
| | GUID DiskGuid; /**< Cluster re |
| | source identifier of disk.*/ |
| | } SR_RESOURCE_TYPE_DISK_INFO, *PSR_RESOURCE_TYPE_DISK_INFO; |
| | |
| | typedef struct _SR_RESOURCE_TYPE_ELIGIBLE_DISKS_RESULT |
| | { |
| | USHORT Count; /**< Number of disks in the r |
| | esult set.*/ |
| | SR_RESOURCE_TYPE_DISK_INFO DiskInfo[1]; /**< Cluster resource identif |
| | ier and related information about the disk.*/ |
| | } SR_RESOURCE_TYPE_ELIGIBLE_DISKS_RESULT, *PSR_RESOURCE_TYPE_ELIGIBLE_DISKS_RESU |
| | LT; |
| | |
| | typedef struct _SR_RESOURCE_TYPE_REPLICATED_DISK |
| | { |
| | SR_REPLICATED_DISK_TYPE Type; /**< Type of the r |
| | eplicated disk.*/ |
| | GUID ClusterDiskResourceGuid; /**< Cluster resou |
| | rce identifier of disk.*/ |
| | GUID ReplicationGroupId; /**< Replication g |
| | roup identifier.*/ |
| | WCHAR ReplicationGroupName[MAX_PATH]; /**< Name of the r |
| | eplication group name.*/ |
| | } SR_RESOURCE_TYPE_REPLICATED_DISK, *PSR_RESOURCE_TYPE_REPLICATED_DISK; |
| | |
| | typedef struct _SR_RESOURCE_TYPE_REPLICATED_DISKS_RESULT |
| | { |
| | USHORT Count; /**< Number of replicat |
| | ed disks in the result set.*/ |
| | SR_RESOURCE_TYPE_REPLICATED_DISK ReplicatedDisks[1]; /**< Array of replicate |
| | d disks.*/ |
| | } SR_RESOURCE_TYPE_REPLICATED_DISKS_RESULT, *PSR_RESOURCE_TYPE_REPLICATED_DISKS_ |
| | RESULT; |
| | |
| | // |
| // Input structure for CLUSCTL_RESOURCE_TYPE_STORAGE_GET_AVAILABLE_DISKS_EX2 / C
LUSCTL_RESOURCE_TYPE_STORAGE_GET_AVAILABLE_DISKS_EX2 | | // Input structure for CLUSCTL_RESOURCE_TYPE_STORAGE_GET_AVAILABLE_DISKS_EX2 / C
LUSCTL_RESOURCE_TYPE_STORAGE_GET_AVAILABLE_DISKS_EX2 |
| // | | // |
| typedef struct _CLUSCTL_RESOURCE_TYPE_STORAGE_GET_AVAILABLE_DISKS_EX2_INPUT { | | typedef struct _CLUSCTL_RESOURCE_TYPE_STORAGE_GET_AVAILABLE_DISKS_EX2_INPUT { |
| DWORD dwFlags; | | DWORD dwFlags; |
| GUID guidPoolFilter; | | GUID guidPoolFilter; |
| } CLUSCTL_RESOURCE_TYPE_STORAGE_GET_AVAILABLE_DISKS_EX2_INPUT, *PCLUSCTL_RESOURC
E_TYPE_STORAGE_GET_AVAILABLE_DISKS_EX2_INPUT; | | } CLUSCTL_RESOURCE_TYPE_STORAGE_GET_AVAILABLE_DISKS_EX2_INPUT, *PCLUSCTL_RESOURC
E_TYPE_STORAGE_GET_AVAILABLE_DISKS_EX2_INPUT; |
| | |
| #define CLUSCTL_RESOURCE_TYPE_STORAGE_GET_AVAILABLE_DISKS_EX2_FLAG_ADD_VOLUME_IN
FO 0x00000001 | | #define CLUSCTL_RESOURCE_TYPE_STORAGE_GET_AVAILABLE_DISKS_EX2_FLAG_ADD_VOLUME_IN
FO 0x00000001 |
| #define CLUSCTL_RESOURCE_TYPE_STORAGE_GET_AVAILABLE_DISKS_EX2_FLAG_FILTER_BY_POO
L 0x00000002 | | #define CLUSCTL_RESOURCE_TYPE_STORAGE_GET_AVAILABLE_DISKS_EX2_FLAG_FILTER_BY_POO
L 0x00000002 |
| | |
| | |
| skipping to change at line 6039 | | skipping to change at line 6630 |
| #if _MSC_VER >= 1200 | | #if _MSC_VER >= 1200 |
| #pragma warning(pop) // restore 4200/4201 | | #pragma warning(pop) // restore 4200/4201 |
| #else | | #else |
| #pragma warning( default : 4200 ) // nonstandard extension used : zero-sized arr
ay in struct/union | | #pragma warning( default : 4200 ) // nonstandard extension used : zero-sized arr
ay in struct/union |
| #pragma warning( default : 4201 ) // nonstandard extension used : nameless struc
t/union | | #pragma warning( default : 4201 ) // nonstandard extension used : nameless struc
t/union |
| #endif | | #endif |
| #endif // MIDL_PASS | | #endif // MIDL_PASS |
| | |
| #ifdef __cplusplus | | #ifdef __cplusplus |
| } // extern "C" | | } // extern "C" |
|
| | |
| #endif | | #endif |
| | |
| #ifndef _CLUSTER_API_TYPES_ | | #ifndef _CLUSTER_API_TYPES_ |
| #define _CLUSTER_API_TYPES_ | | #define _CLUSTER_API_TYPES_ |
| #endif // _CLUSTER_API_TYPES_ | | #endif // _CLUSTER_API_TYPES_ |
| | |
|
| #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ | | #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PK
G_CLUSTER) */ |
| #pragma endregion | | #pragma endregion |
| | |
| #endif // _CLUSTER_API_ | | #endif // _CLUSTER_API_ |
| | |
| End of changes. 69 change blocks. |
| 18 lines changed or deleted | | 691 lines changed or added |
|