| clusapi.h (6.0.6001.18000-Windows 6.0) | | clusapi.h (6.1.7601.17514-Windows 7.0) |
| /*++ | | /*++ |
| | |
|
| Copyright (c) Microsoft Corporation. All rights reserved. | | Copyright (c) 1996 Microsoft Corporation. All rights reserved. |
| | |
| Module Name: | | Module Name: |
| | |
| clusapi.h | | clusapi.h |
| | |
| Abstract: | | Abstract: |
| | |
| 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_ |
| | |
|
| #define CLUSAPI_VERSION 0x0600 | | |
| | | |
| #if _MSC_VER > 1000 | | #if _MSC_VER > 1000 |
| #pragma once | | #pragma once |
| #endif | | #endif |
| | |
|
| | #define CLUSAPI_VERSION_SERVER2008 0x00000600 |
| | #define CLUSAPI_VERSION_SERVER2008R2 0x00000700 |
| | |
| | #if (!defined(CLUSAPI_VERSION)) |
| | #if (!defined(NTDDI_VERSION) || (NTDDI_VERSION >= NTDDI_WIN7)) |
| | #define CLUSAPI_VERSION CLUSAPI_VERSION_SERVER2008R2 |
| | #else |
| | #define CLUSAPI_VERSION CLUSAPI_VERSION_SERVER2008 |
| | #endif |
| | #endif // !defined(CLUSAPI_VERSION) |
| | |
| | #define CREATE_CLUSTER_VERSION CLUSAPI_VERSION_SERVER2008 |
| | #define CREATE_CLUSTER_MAJOR_VERSION_MASK 0xFFFFFF00 |
| | |
| #ifdef __cplusplus | | #ifdef __cplusplus |
| extern "C" { | | extern "C" { |
| #endif | | #endif |
| | |
| #if ( !MIDL_PASS && !__midl ) | | #if ( !MIDL_PASS && !__midl ) |
| #if _MSC_VER >= 1200 | | #if _MSC_VER >= 1200 |
| #pragma warning(push) | | #pragma warning(push) |
| #endif | | #endif |
| #pragma warning( disable : 4200 ) // nonstandard extension used : zero-sized arr
ay in struct/union | | #pragma warning( disable : 4200 ) // nonstandard extension used : zero-sized arr
ay in struct/union |
| #pragma warning( disable : 4201 ) // nonstandard extension used : nameless struc
t/union | | #pragma warning( disable : 4201 ) // nonstandard extension used : nameless struc
t/union |
| | |
| skipping to change at line 61 | | skipping to change at line 73 |
| typedef struct _HNETWORK *HNETWORK; | | typedef struct _HNETWORK *HNETWORK; |
| typedef struct _HNETINTERFACE *HNETINTERFACE; | | typedef struct _HNETINTERFACE *HNETINTERFACE; |
| typedef struct _HCHANGE *HCHANGE; | | typedef struct _HCHANGE *HCHANGE; |
| typedef struct _HCLUSENUM *HCLUSENUM; | | typedef struct _HCLUSENUM *HCLUSENUM; |
| typedef struct _HGROUPENUM *HGROUPENUM; | | typedef struct _HGROUPENUM *HGROUPENUM; |
| typedef struct _HRESENUM *HRESENUM; | | typedef struct _HRESENUM *HRESENUM; |
| typedef struct _HNETWORKENUM *HNETWORKENUM; | | typedef struct _HNETWORKENUM *HNETWORKENUM; |
| typedef struct _HNODEENUM *HNODEENUM; | | typedef struct _HNODEENUM *HNODEENUM; |
| typedef struct _HRESTYPEENUM *HRESTYPEENUM; | | typedef struct _HRESTYPEENUM *HRESTYPEENUM; |
| typedef struct _HREGBATCH *HREGBATCH; | | typedef struct _HREGBATCH *HREGBATCH; |
|
| | typedef struct _HREGBATCHPORT *HREGBATCHPORT; |
| | typedef struct _HREGBATCHNOTIFICATION *HREGBATCHNOTIFICATION; |
| | |
| | #if (CLUSAPI_VERSION >= CLUSAPI_VERSION_SERVER2008R2) |
| | typedef struct _HNODEENUMEX *HNODEENUMEX; |
| | typedef struct _HCLUSENUMEX *HCLUSENUMEX; |
| | #endif |
| | |
| #endif // _CLUSTER_API_TYPES_ | | #endif // _CLUSTER_API_TYPES_ |
| | |
| // | | // |
| // Definitions used in cluster management routines. | | // Definitions used in cluster management routines. |
| // | | // |
| | |
| #define MAX_CLUSTERNAME_LENGTH DNS_MAX_LABEL_LENGTH | | #define MAX_CLUSTERNAME_LENGTH DNS_MAX_LABEL_LENGTH |
| | |
| #ifndef _CLUSTER_API_TYPES_ | | #ifndef _CLUSTER_API_TYPES_ |
| | |
| skipping to change at line 109 | | skipping to change at line 128 |
| DWORD dwFlags; | | DWORD dwFlags; |
| DWORD dwReserved; | | DWORD dwReserved; |
| } CLUSTERVERSIONINFO, *LPCLUSTERVERSIONINFO, *PCLUSTERVERSIONINFO; | | } CLUSTERVERSIONINFO, *LPCLUSTERVERSIONINFO, *PCLUSTERVERSIONINFO; |
| | |
| typedef struct CLUS_STARTING_PARAMS { | | typedef struct CLUS_STARTING_PARAMS { |
| DWORD dwSize; | | DWORD dwSize; |
| BOOL bForm; | | BOOL bForm; |
| BOOL bFirst; | | BOOL bFirst; |
| } CLUS_STARTING_PARAMS, * PCLUS_STARTING_PARAMS; | | } CLUS_STARTING_PARAMS, * PCLUS_STARTING_PARAMS; |
| | |
|
| #define CLUSTER_VERSION_FLAG_MIXED_MODE 0x00000001 | | #define CLUSTER_VERSION_FLAG_MIXED_MODE 0x00000001 |
| | |
| | #define CLUSTER_VERSION_UNKNOWN 0xFFFFFFFF |
| | |
| #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 LONGHORN_MAJOR_VERSION 5 | | #define NT6_MAJOR_VERSION 5 |
| | | #define NT7_MAJOR_VERSION 6 |
| #define CLUSTER_VERSION_UNKNOWN 0xFFFFFFFF | | |
| | |
| // | | // |
| // 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 172 | | skipping to change at line 192 |
| | |
| typedef enum _CLUSTER_REG_COMMAND | | typedef enum _CLUSTER_REG_COMMAND |
| { | | { |
| CLUSREG_COMMAND_NONE = 0, | | CLUSREG_COMMAND_NONE = 0, |
| | |
| CLUSREG_SET_VALUE = 1, | | CLUSREG_SET_VALUE = 1, |
| CLUSREG_CREATE_KEY, | | CLUSREG_CREATE_KEY, |
| CLUSREG_DELETE_KEY, | | CLUSREG_DELETE_KEY, |
| CLUSREG_DELETE_VALUE, | | CLUSREG_DELETE_VALUE, |
| CLUSREG_SET_KEY_SECURITY, | | CLUSREG_SET_KEY_SECURITY, |
|
| | CLUSREG_VALUE_DELETED, |
| | |
| CLUSREG_LAST_COMMAND | | CLUSREG_LAST_COMMAND |
| | |
| } CLUSTER_REG_COMMAND; | | } CLUSTER_REG_COMMAND; |
| | |
| #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 |
| | { |
| | CLUSTER_REG_COMMAND Command; |
| | DWORD dwOptions; |
| | LPCWSTR wzName; |
| | BYTE CONST * lpData; |
| | DWORD cbData; |
| | } CLUSTER_BATCH_COMMAND; |
| | |
| #endif // MIDL_PASS | | #endif // MIDL_PASS |
| | |
|
| | #if CLUSAPI_VERSION >= CLUSAPI_VERSION_SERVER2008R2 |
| | |
| | #define CLUSTER_ENUM_ITEM_VERSION_1 0x00000001 |
| | #define CLUSTER_ENUM_ITEM_VERSION CLUSTER_ENUM_ITEM_VERSION_1 |
| | |
| | typedef struct _CLUSTER_ENUM_ITEM { |
| | DWORD dwVersion; |
| | DWORD dwType; |
| | DWORD cbId; |
| | LPWSTR lpszId; |
| | DWORD cbName; |
| | LPWSTR lpszName; |
| | } CLUSTER_ENUM_ITEM, *PCLUSTER_ENUM_ITEM; |
| | |
| | #endif // CLUSAPI_VERSION >= CLUSAPI_VERSION_SERVER2008R2 |
| | |
| #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 |
| | |
| skipping to change at line 212 | | skipping to change at line 258 |
| // 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 ) |
| | |
| // | | // |
|
| | // Structure used to pass in the path to validate |
| | // |
| | typedef struct _CLUSTER_VALIDATE_PATH { |
| | WCHAR szPath[]; |
| | } CLUSTER_VALIDATE_PATH, *PCLUSTER_VALIDATE_PATH; |
| | |
| | // |
| | // Structure used to pass in the directory to validate |
| | // |
| | typedef struct _CLUSTER_VALIDATE_DIRECTORY { |
| | WCHAR szPath[]; |
| | } CLUSTER_VALIDATE_DIRECTORY, *PCLUSTER_VALIDATE_DIRECTORY; |
| | |
| | // |
| | // Structure used to pass in the network name to validate |
| | // |
| | typedef struct _CLUSTER_VALIDATE_NETNAME { |
| | WCHAR szNetworkName[]; |
| | } CLUSTER_VALIDATE_NETNAME , *PCLUSTER_VALIDATE_NETNAME ; |
| | |
| | // |
| | // Structure used to pass in the file name to validate |
| | // |
| | typedef struct _CLUSTER_VALIDATE_CSV_FILENAME { |
| | WCHAR szFileName[]; |
| | } CLUSTER_VALIDATE_CSV_FILENAME , *PCLUSTER_VALIDATE_CSV_FILENAME ; |
| | |
| | // |
| // Structure used to return the status of a request to set the | | // Structure used to return the status of a request to set the |
| // password on the account used by the Cluster Service on each | | // password on the account used by the Cluster Service on each |
| // cluster node. | | // cluster node. |
| // | | // |
| typedef struct CLUSTER_SET_PASSWORD_STATUS { | | typedef struct CLUSTER_SET_PASSWORD_STATUS { |
| DWORD NodeId; | | DWORD NodeId; |
| BOOLEAN SetAttempted; | | BOOLEAN SetAttempted; |
| DWORD ReturnStatus; | | DWORD ReturnStatus; |
| } CLUSTER_SET_PASSWORD_STATUS, *PCLUSTER_SET_PASSWORD_STATUS; | | } CLUSTER_SET_PASSWORD_STATUS, *PCLUSTER_SET_PASSWORD_STATUS; |
| | |
| | |
| skipping to change at line 237 | | skipping to change at line 311 |
| } CLUSTER_IP_ENTRY, *PCLUSTER_IP_ENTRY; | | } CLUSTER_IP_ENTRY, *PCLUSTER_IP_ENTRY; |
| | |
| typedef struct _CREATE_CLUSTER_CONFIG | | typedef struct _CREATE_CLUSTER_CONFIG |
| { | | { |
| 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; |
|
| PCWSTR lpszQuorumVolume; | | BOOLEAN fEmptyCluster; |
| } CREATE_CLUSTER_CONFIG, *PCREATE_CLUSTER_CONFIG; | | } CREATE_CLUSTER_CONFIG, *PCREATE_CLUSTER_CONFIG; |
| #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 |
| ); | | ); |
| | |
| | |
| skipping to change at line 265 | | skipping to change at line 339 |
| WINAPI | | WINAPI |
| OpenCluster( | | OpenCluster( |
| __in_opt LPCWSTR lpszClusterName | | __in_opt LPCWSTR lpszClusterName |
| ); | | ); |
| | |
| typedef HCLUSTER | | typedef HCLUSTER |
| (WINAPI * PCLUSAPI_OPEN_CLUSTER)( | | (WINAPI * PCLUSAPI_OPEN_CLUSTER)( |
| __in_opt LPCWSTR lpszClusterName | | __in_opt LPCWSTR lpszClusterName |
| ); | | ); |
| | |
|
| | #if (CLUSAPI_VERSION >= CLUSAPI_VERSION_SERVER2008R2) |
| | HCLUSTER |
| | WINAPI |
| | OpenClusterEx( |
| | __in_opt LPCWSTR lpszClusterName, |
| | __in DWORD DesiredAccess, |
| | __out_opt DWORD* GrantedAccess |
| | ); |
| | |
| | typedef HCLUSTER |
| | (WINAPI * PCLUSAPI_OPEN_CLUSTER_EX)( |
| | __in_opt LPCWSTR lpszClusterName, |
| | __in DWORD dwDesiredAccess, |
| | __out_opt LPDWORD lpdwGrantedAccess |
| | ); |
| | #endif |
| | |
| BOOL | | BOOL |
| WINAPI | | WINAPI |
| CloseCluster( | | CloseCluster( |
| __in HCLUSTER hCluster | | __in HCLUSTER hCluster |
| ); | | ); |
| | |
| typedef BOOL | | typedef BOOL |
| (WINAPI * PCLUSAPI_CLOSE_CLUSTER)( | | (WINAPI * PCLUSAPI_CLOSE_CLUSTER)( |
| __in HCLUSTER hCluster | | __in HCLUSTER hCluster |
| ); | | ); |
| | |
| skipping to change at line 600 | | skipping to change at line 691 |
| | |
| // | | // |
| // Enumeration routines | | // Enumeration routines |
| // | | // |
| | |
| #ifndef _CLUSTER_API_TYPES_ | | #ifndef _CLUSTER_API_TYPES_ |
| // | | // |
| // Define enumerable types | | // Define enumerable types |
| // | | // |
| typedef enum CLUSTER_ENUM { | | typedef enum CLUSTER_ENUM { |
|
| CLUSTER_ENUM_NODE = 0x00000001, | | CLUSTER_ENUM_NODE = 0x00000001, |
| CLUSTER_ENUM_RESTYPE = 0x00000002, | | CLUSTER_ENUM_RESTYPE = 0x00000002, |
| CLUSTER_ENUM_RESOURCE = 0x00000004, | | CLUSTER_ENUM_RESOURCE = 0x00000004, |
| CLUSTER_ENUM_GROUP = 0x00000008, | | CLUSTER_ENUM_GROUP = 0x00000008, |
| CLUSTER_ENUM_NETWORK = 0x00000010, | | CLUSTER_ENUM_NETWORK = 0x00000010, |
| CLUSTER_ENUM_NETINTERFACE = 0x00000020, | | CLUSTER_ENUM_NETINTERFACE = 0x00000020, |
| CLUSTER_ENUM_INTERNAL_NETWORK = 0x80000000, | | CLUSTER_ENUM_SHARED_VOLUME_RESOURCE = 0x40000000, |
| | CLUSTER_ENUM_INTERNAL_NETWORK = 0x80000000, |
| | |
| CLUSTER_ENUM_ALL = (CLUSTER_ENUM_NODE | | | CLUSTER_ENUM_ALL = (CLUSTER_ENUM_NODE | |
| CLUSTER_ENUM_RESTYPE | | | CLUSTER_ENUM_RESTYPE | |
| CLUSTER_ENUM_RESOURCE | | | CLUSTER_ENUM_RESOURCE | |
| CLUSTER_ENUM_GROUP | | | CLUSTER_ENUM_GROUP | |
| CLUSTER_ENUM_NETWORK | | | CLUSTER_ENUM_NETWORK | |
| CLUSTER_ENUM_NETINTERFACE) | | CLUSTER_ENUM_NETINTERFACE) |
| | |
| } CLUSTER_ENUM; | | } CLUSTER_ENUM; |
| | |
| | |
| skipping to change at line 675 | | skipping to change at line 767 |
| WINAPI | | WINAPI |
| ClusterCloseEnum( | | ClusterCloseEnum( |
| __in HCLUSENUM hEnum | | __in HCLUSENUM hEnum |
| ); | | ); |
| | |
| typedef DWORD | | typedef DWORD |
| (WINAPI * PCLUSAPI_CLUSTER_CLOSE_ENUM)( | | (WINAPI * PCLUSAPI_CLUSTER_CLOSE_ENUM)( |
| __in HCLUSENUM hEnum | | __in HCLUSENUM hEnum |
| ); | | ); |
| | |
|
| | #if (CLUSAPI_VERSION >= CLUSAPI_VERSION_SERVER2008R2) |
| | |
| | HCLUSENUMEX |
| | WINAPI |
| | ClusterOpenEnumEx( |
| | __in HCLUSTER hCluster, |
| | __in DWORD dwType, |
| | __in PVOID pOptions |
| | ); |
| | |
| | typedef HCLUSENUMEX |
| | (WINAPI * PCLUSAPI_CLUSTER_OPEN_ENUM_EX)( |
| | __in HCLUSTER hCluster, |
| | __in DWORD dwType, |
| | __in PVOID pOptions |
| | ); |
| | |
| | DWORD |
| | WINAPI |
| | ClusterGetEnumCountEx( |
| | __in HCLUSENUMEX hClusterEnum |
| | ); |
| | |
| | typedef DWORD |
| | (WINAPI * PCLUSAPI_CLUSTER_GET_ENUM_COUNT_EX)( |
| | __in HCLUSENUMEX hClusterEnum |
| | ); |
| | |
| | DWORD |
| | WINAPI |
| | ClusterEnumEx( |
| | __in HCLUSENUMEX hClusterEnum, |
| | __in DWORD dwIndex, |
| | __inout PCLUSTER_ENUM_ITEM pItem, |
| | __inout LPDWORD cbItem |
| | ); |
| | |
| | typedef DWORD |
| | (WINAPI * PCLUSAPI_CLUSTER_ENUM_EX)( |
| | __in HCLUSENUMEX hClusterEnum, |
| | __in DWORD dwIndex, |
| | __inout PCLUSTER_ENUM_ITEM pItem, |
| | __inout LPDWORD cbItem |
| | ); |
| | |
| | DWORD |
| | WINAPI |
| | ClusterCloseEnumEx( |
| | __in HCLUSENUMEX hClusterEnum |
| | ); |
| | |
| | typedef DWORD |
| | (WINAPI * PCLUSAPI_CLUSTER_CLOSE_ENUM_EX)( |
| | __in HCLUSENUMEX hClusterEnum |
| | ); |
| | |
| | #endif // CLUSAPI_VERSION >= CLUSAPI_VERSION_SERVER2008R2 |
| | |
| #endif // MIDL_PASS | | #endif // MIDL_PASS |
| | |
| #ifndef _CLUSTER_API_TYPES_ | | #ifndef _CLUSTER_API_TYPES_ |
| // | | // |
| // Define enumerable node types | | // Define enumerable node types |
| // | | // |
|
| | #if (CLUSAPI_VERSION >= CLUSAPI_VERSION_SERVER2008R2) |
| | |
| | typedef enum CLUSTER_NODE_ENUM { |
| | CLUSTER_NODE_ENUM_NETINTERFACES = 0x00000001, |
| | CLUSTER_NODE_ENUM_GROUPS = 0x00000002, |
| | |
| | CLUSTER_NODE_ENUM_ALL = (CLUSTER_NODE_ENUM_NETINTERFACES | |
| | CLUSTER_NODE_ENUM_GROUPS) |
| | } CLUSTER_NODE_ENUM; |
| | |
| | #else |
| | |
| typedef enum CLUSTER_NODE_ENUM { | | typedef enum CLUSTER_NODE_ENUM { |
| CLUSTER_NODE_ENUM_NETINTERFACES = 0x00000001, | | CLUSTER_NODE_ENUM_NETINTERFACES = 0x00000001, |
| | |
| CLUSTER_NODE_ENUM_ALL = (CLUSTER_NODE_ENUM_NETINTERFACES) | | CLUSTER_NODE_ENUM_ALL = (CLUSTER_NODE_ENUM_NETINTERFACES) |
| | |
| } CLUSTER_NODE_ENUM; | | } CLUSTER_NODE_ENUM; |
| | |
|
| | #endif |
| | |
| // | | // |
| // Node-related structures and types. | | // Node-related structures and types. |
| // | | // |
| typedef enum CLUSTER_NODE_STATE { | | typedef enum CLUSTER_NODE_STATE { |
| ClusterNodeStateUnknown = -1, | | ClusterNodeStateUnknown = -1, |
| ClusterNodeUp, | | ClusterNodeUp, |
| ClusterNodeDown, | | ClusterNodeDown, |
| ClusterNodePaused, | | ClusterNodePaused, |
| ClusterNodeJoining | | ClusterNodeJoining |
| } CLUSTER_NODE_STATE; | | } CLUSTER_NODE_STATE; |
| | |
| skipping to change at line 719 | | skipping to change at line 883 |
| __in HCLUSTER hCluster, | | __in HCLUSTER hCluster, |
| __in LPCWSTR lpszNodeName | | __in LPCWSTR lpszNodeName |
| ); | | ); |
| | |
| typedef HNODE | | typedef HNODE |
| (WINAPI * PCLUSAPI_OPEN_CLUSTER_NODE)( | | (WINAPI * PCLUSAPI_OPEN_CLUSTER_NODE)( |
| __in HCLUSTER hCluster, | | __in HCLUSTER hCluster, |
| __in LPCWSTR lpszNodeName | | __in LPCWSTR lpszNodeName |
| ); | | ); |
| | |
|
| | #if (CLUSAPI_VERSION >= CLUSAPI_VERSION_SERVER2008R2) |
| | HNODE |
| | WINAPI |
| | OpenClusterNodeEx( |
| | __in HCLUSTER hCluster, |
| | __in_opt LPCWSTR lpszNodeName, |
| | __in DWORD dwDesiredAccess, |
| | __out_opt DWORD* lpdwGrantedAccess |
| | ); |
| | |
| | typedef HNODE |
| | (WINAPI * PCLUSAPI_OPEN_CLUSTER_NODE_EX)( |
| | __in HCLUSTER hCluster, |
| | __in_opt LPCWSTR lpszNodeName, |
| | __in DWORD dwDesiredAccess, |
| | __out_opt LPDWORD lpdwGrantedAccess |
| | ); |
| | #endif |
| | |
| BOOL | | BOOL |
| WINAPI | | WINAPI |
| CloseClusterNode( | | CloseClusterNode( |
| __in HNODE hNode | | __in HNODE hNode |
| ); | | ); |
| | |
| typedef BOOL | | typedef BOOL |
| (WINAPI * PCLUSAPI_CLOSE_CLUSTER_NODE)( | | (WINAPI * PCLUSAPI_CLOSE_CLUSTER_NODE)( |
| __in HNODE hNode | | __in HNODE hNode |
| ); | | ); |
| | |
| skipping to change at line 745 | | skipping to change at line 928 |
| | |
| typedef CLUSTER_NODE_STATE | | typedef CLUSTER_NODE_STATE |
| (WINAPI * PCLUSAPI_GET_CLUSTER_NODE_STATE)( | | (WINAPI * PCLUSAPI_GET_CLUSTER_NODE_STATE)( |
| __in HNODE hNode | | __in HNODE hNode |
| ); | | ); |
| | |
| __success(return == ERROR_SUCCESS) | | __success(return == ERROR_SUCCESS) |
| DWORD | | DWORD |
| WINAPI | | WINAPI |
| GetClusterNodeId( | | GetClusterNodeId( |
|
| __in HNODE hNode, | | __in_opt HNODE hNode, |
| __out_ecount_part(*lpcchName, *lpcchName + 1) LPWSTR lpszNodeId, | | __out_ecount_part(*lpcchName, *lpcchName + 1) LPWSTR lpszNodeId, |
| __inout LPDWORD lpcchName | | __inout LPDWORD lpcchName |
| ); | | ); |
| | |
| typedef DWORD | | typedef DWORD |
| (WINAPI * PCLUSAPI_GET_CLUSTER_NODE_ID)( | | (WINAPI * PCLUSAPI_GET_CLUSTER_NODE_ID)( |
|
| __in HNODE hNode, | | __in_opt HNODE hNode, |
| __out_ecount_part(*lpcchName, *lpcchName + 1) LPWSTR lpszNodeId, | | __out_ecount_part(*lpcchName, *lpcchName + 1) LPWSTR lpszNodeId, |
| __inout LPDWORD lpcchName | | __inout LPDWORD lpcchName |
| ); | | ); |
| | |
| #define GetCurrentClusterNodeId(_lpszNodeId_, _lpcchName_) \ | | #define GetCurrentClusterNodeId(_lpszNodeId_, _lpcchName_) \ |
| GetClusterNodeId(NULL, (_lpszNodeId_), (_lpcchName_)) | | GetClusterNodeId(NULL, (_lpszNodeId_), (_lpcchName_)) |
| | |
| HCLUSTER | | HCLUSTER |
| WINAPI | | WINAPI |
| GetClusterFromNode( | | GetClusterFromNode( |
| | |
| skipping to change at line 817 | | skipping to change at line 1000 |
| __in HNODE hNode, | | __in HNODE hNode, |
| __in DWORD dwType | | __in DWORD dwType |
| ); | | ); |
| | |
| typedef HNODEENUM | | typedef HNODEENUM |
| (WINAPI * PCLUSAPI_CLUSTER_NODE_OPEN_ENUM)( | | (WINAPI * PCLUSAPI_CLUSTER_NODE_OPEN_ENUM)( |
| __in HNODE hNode, | | __in HNODE hNode, |
| __in DWORD dwType | | __in DWORD dwType |
| ); | | ); |
| | |
|
| | #if (CLUSAPI_VERSION >= CLUSAPI_VERSION_SERVER2008R2) |
| | |
| | HNODEENUMEX |
| | WINAPI |
| | ClusterNodeOpenEnumEx( |
| | __in HNODE hNode, |
| | __in DWORD dwType, |
| | __in PVOID pOptions |
| | ); |
| | |
| | typedef HNODEENUMEX |
| | (WINAPI * PCLUSAPI_CLUSTER_NODE_OPEN_ENUM_EX)( |
| | __in HNODE hNode, |
| | __in DWORD dwType, |
| | __in PVOID pOptions |
| | ); |
| | |
| | DWORD |
| | WINAPI |
| | ClusterNodeGetEnumCountEx( |
| | __in HNODEENUMEX hNodeEnum |
| | ); |
| | |
| | typedef DWORD |
| | (WINAPI * PCLUSAPI_CLUSTER_NODE_GET_ENUM_COUNT_EX)( |
| | __in HNODEENUMEX hNodeEnum |
| | ); |
| | |
| | DWORD |
| | WINAPI |
| | ClusterNodeEnumEx( |
| | __in HNODEENUMEX hNodeEnum, |
| | __in DWORD dwIndex, |
| | __inout PCLUSTER_ENUM_ITEM pItem, |
| | __inout LPDWORD cbItem |
| | ); |
| | |
| | typedef DWORD |
| | (WINAPI * PCLUSAPI_CLUSTER_NODE_ENUM_EX)( |
| | __in HNODEENUMEX hNodeEnum, |
| | __in DWORD dwIndex, |
| | __inout PCLUSTER_ENUM_ITEM pItem, |
| | __inout LPDWORD cbItem |
| | ); |
| | |
| | DWORD |
| | WINAPI |
| | ClusterNodeCloseEnumEx( |
| | __in HNODEENUMEX hNodeEnum |
| | ); |
| | |
| | typedef DWORD |
| | (WINAPI * PCLUSAPI_CLUSTER_NODE_CLOSE_ENUM_EX)( |
| | __in HNODEENUMEX hNodeEnum |
| | ); |
| | |
| | #endif |
| | |
| DWORD | | DWORD |
| WINAPI | | WINAPI |
| ClusterNodeGetEnumCount( | | ClusterNodeGetEnumCount( |
| __in HNODEENUM hNodeEnum | | __in HNODEENUM hNodeEnum |
| ); | | ); |
| | |
| typedef DWORD | | typedef DWORD |
| (WINAPI * PCLUSAPI_CLUSTER_NODE_GET_ENUM_COUNT)( | | (WINAPI * PCLUSAPI_CLUSTER_NODE_GET_ENUM_COUNT)( |
| __in HNODEENUM hNodeEnum | | __in HNODEENUM hNodeEnum |
| ); | | ); |
| | |
| skipping to change at line 958 | | skipping to change at line 1199 |
| __in HCLUSTER hCluster, | | __in HCLUSTER hCluster, |
| __in LPCWSTR lpszGroupName | | __in LPCWSTR lpszGroupName |
| ); | | ); |
| | |
| typedef HGROUP | | typedef HGROUP |
| (WINAPI * PCLUSAPI_OPEN_CLUSTER_GROUP)( | | (WINAPI * PCLUSAPI_OPEN_CLUSTER_GROUP)( |
| __in HCLUSTER hCluster, | | __in HCLUSTER hCluster, |
| __in LPCWSTR lpszGroupName | | __in LPCWSTR lpszGroupName |
| ); | | ); |
| | |
|
| | #if (CLUSAPI_VERSION >= CLUSAPI_VERSION_SERVER2008R2) |
| | HGROUP |
| | WINAPI |
| | OpenClusterGroupEx( |
| | __in HCLUSTER hCluster, |
| | __in_opt LPCWSTR lpszGroupName, |
| | __in DWORD dwDesiredAccess, |
| | __out_opt DWORD* lpdwGrantedAccess |
| | ); |
| | |
| | typedef HGROUP |
| | (WINAPI * PCLUSAPI_OPEN_CLUSTER_GROUP_EX)( |
| | __in HCLUSTER hCluster, |
| | __in_opt LPCWSTR lpszGroupName, |
| | __in DWORD dwDesiredAccess, |
| | __out_opt LPDWORD lpdwGrantedAccess |
| | ); |
| | #endif |
| | |
| BOOL | | BOOL |
| WINAPI | | WINAPI |
| CloseClusterGroup( | | CloseClusterGroup( |
| __in HGROUP hGroup | | __in HGROUP hGroup |
| ); | | ); |
| | |
| typedef BOOL | | typedef BOOL |
| (WINAPI * PCLUSAPI_CLOSE_CLUSTER_GROUP)( | | (WINAPI * PCLUSAPI_CLOSE_CLUSTER_GROUP)( |
| __in HGROUP hGroup | | __in HGROUP hGroup |
| ); | | ); |
| | |
| skipping to change at line 1072 | | skipping to change at line 1332 |
| WINAPI | | WINAPI |
| DeleteClusterGroup( | | DeleteClusterGroup( |
| __in HGROUP hGroup | | __in HGROUP hGroup |
| ); | | ); |
| | |
| typedef DWORD | | typedef DWORD |
| (WINAPI * PCLUSAPI_DELETE_CLUSTER_GROUP)( | | (WINAPI * PCLUSAPI_DELETE_CLUSTER_GROUP)( |
| HGROUP hGroup | | HGROUP hGroup |
| ); | | ); |
| | |
|
| | DWORD |
| | WINAPI |
| | DestroyClusterGroup( |
| | __in HGROUP hGroup |
| | ); |
| | |
| | typedef DWORD |
| | (WINAPI * PCLUSAPI_DESTROY_CLUSTER_GROUP)( |
| | HGROUP hGroup |
| | ); |
| | |
| HGROUPENUM | | HGROUPENUM |
| WINAPI | | WINAPI |
| ClusterGroupOpenEnum( | | ClusterGroupOpenEnum( |
| __in HGROUP hGroup, | | __in HGROUP hGroup, |
| __in DWORD dwType | | __in DWORD dwType |
| ); | | ); |
| | |
| typedef HGROUPENUM | | typedef HGROUPENUM |
| (WINAPI * PCLUSAPI_CLUSTER_GROUP_OPEN_ENUM)( | | (WINAPI * PCLUSAPI_CLUSTER_GROUP_OPEN_ENUM)( |
| HGROUP hGroup, | | HGROUP hGroup, |
| | |
| skipping to change at line 1153 | | skipping to change at line 1424 |
| ClusterResourceFailed, | | ClusterResourceFailed, |
| ClusterResourcePending = 128, | | ClusterResourcePending = 128, |
| ClusterResourceOnlinePending, | | ClusterResourceOnlinePending, |
| ClusterResourceOfflinePending | | ClusterResourceOfflinePending |
| } CLUSTER_RESOURCE_STATE; | | } CLUSTER_RESOURCE_STATE; |
| | |
| typedef enum CLUSTER_RESOURCE_RESTART_ACTION { | | typedef enum CLUSTER_RESOURCE_RESTART_ACTION { |
| ClusterResourceDontRestart = 0, | | ClusterResourceDontRestart = 0, |
| ClusterResourceRestartNoNotify, | | ClusterResourceRestartNoNotify, |
| ClusterResourceRestartNotify, | | ClusterResourceRestartNotify, |
|
| ClusterResourceRestartNotifyIfNotInORexpression, | | |
| ClusterResourceRestartActionCount | | ClusterResourceRestartActionCount |
| } CLUSTER_RESOURCE_RESTART_ACTION, CRRA; | | } CLUSTER_RESOURCE_RESTART_ACTION, CRRA; |
| | |
| // | | // |
| // Flags for resource creation | | // Flags for resource creation |
| // | | // |
| typedef enum CLUSTER_RESOURCE_CREATE_FLAGS { | | typedef enum CLUSTER_RESOURCE_CREATE_FLAGS { |
| CLUSTER_RESOURCE_DEFAULT_MONITOR = 0, | | CLUSTER_RESOURCE_DEFAULT_MONITOR = 0, |
| CLUSTER_RESOURCE_SEPARATE_MONITOR = 1, | | CLUSTER_RESOURCE_SEPARATE_MONITOR = 1, |
| CLUSTER_RESOURCE_VALID_FLAGS = CLUSTER_RESOURCE_SEPARATE_MONITOR | | CLUSTER_RESOURCE_VALID_FLAGS = CLUSTER_RESOURCE_SEPARATE_MONITOR |
| | |
| skipping to change at line 1203 | | skipping to change at line 1473 |
| __in HCLUSTER hCluster, | | __in HCLUSTER hCluster, |
| __in LPCWSTR lpszResourceName | | __in LPCWSTR lpszResourceName |
| ); | | ); |
| | |
| typedef HRESOURCE | | typedef HRESOURCE |
| (WINAPI * PCLUSAPI_OPEN_CLUSTER_RESOURCE)( | | (WINAPI * PCLUSAPI_OPEN_CLUSTER_RESOURCE)( |
| HCLUSTER hCluster, | | HCLUSTER hCluster, |
| LPCWSTR lpszResourceName | | LPCWSTR lpszResourceName |
| ); | | ); |
| | |
|
| | #if (CLUSAPI_VERSION >= CLUSAPI_VERSION_SERVER2008R2) |
| | HRESOURCE |
| | WINAPI |
| | OpenClusterResourceEx( |
| | __in HCLUSTER hCluster, |
| | __in_opt LPCWSTR lpszResourceName, |
| | __in DWORD dwDesiredAccess, |
| | __out_opt DWORD* lpdwGrantedAccess |
| | ); |
| | |
| | typedef HRESOURCE |
| | (WINAPI * PCLUSAPI_OPEN_CLUSTER_RESOURCE_EX)( |
| | __in HCLUSTER hCluster, |
| | __in_opt LPCWSTR lpszResourceName, |
| | __in DWORD dwDesiredAccess, |
| | __out_opt LPDWORD lpdwGrantedAccess |
| | ); |
| | #endif |
| | |
| BOOL | | BOOL |
| WINAPI | | WINAPI |
| CloseClusterResource( | | CloseClusterResource( |
| __in HRESOURCE hResource | | __in HRESOURCE hResource |
| ); | | ); |
| | |
| typedef BOOL | | typedef BOOL |
| (WINAPI * PCLUSAPI_CLOSE_CLUSTER_RESOURCE)( | | (WINAPI * PCLUSAPI_CLOSE_CLUSTER_RESOURCE)( |
| HRESOURCE hResource | | HRESOURCE hResource |
| ); | | ); |
| | |
| skipping to change at line 1391 | | skipping to change at line 1680 |
| DWORD | | DWORD |
| WINAPI | | WINAPI |
| GetClusterResourceDependencyExpression( | | GetClusterResourceDependencyExpression( |
| __in HRESOURCE hResource, | | __in HRESOURCE hResource, |
| __out_ecount_part_opt(*lpcchDependencyExpression, *lpcchDependencyExpression
+ 1) | | __out_ecount_part_opt(*lpcchDependencyExpression, *lpcchDependencyExpression
+ 1) |
| LPWSTR lpszDependencyExpression, | | LPWSTR lpszDependencyExpression, |
| __inout LPDWORD lpcchDependencyExpression | | __inout LPDWORD lpcchDependencyExpression |
| ); | | ); |
| | |
| typedef DWORD | | typedef DWORD |
|
| (WINAPI * PCLUSAPI_GET_CLUSTER_RESOURCE_DEPENDENCY_EXPRESSION)( | | (WINAPI * PCLUSAPI_GET_CLUSTER_RESOURCE_DEPENDENCY_EXPRESSION)( |
| __in HRESOURCE hResource, | | __in HRESOURCE hResource, |
| __out_ecount_part_opt(*lpcchDependencyExpression, *lpcchDependencyExpression
+ 1) | | __out_ecount_part_opt(*lpcchDependencyExpression, *lpcchDependencyExpression
+ 1) |
| LPWSTR lpszDependencyExpression, | | LPWSTR lpszDependencyExpression, |
| __inout LPDWORD lpcchDependencyExpression | | __inout LPDWORD lpcchDependencyExpression |
| ); | | ); |
| | |
|
| | #if (CLUSAPI_VERSION >= CLUSAPI_VERSION_SERVER2008R2) |
| | DWORD |
| | WINAPI |
| | AddResourceToClusterSharedVolumes( |
| | __in HRESOURCE hResource |
| | ); |
| | #endif |
| | |
| | typedef DWORD |
| | (WINAPI * PCLUSAPI_ADD_RESOURCE_TO_CLUSTER_SHARED_VOLUMES)( |
| | __in HRESOURCE hResource |
| | ); |
| | |
| | #if (CLUSAPI_VERSION >= CLUSAPI_VERSION_SERVER2008R2) |
| | DWORD |
| | WINAPI |
| | RemoveResourceFromClusterSharedVolumes( |
| | __in HRESOURCE hResource |
| | ); |
| | #endif |
| | |
| | typedef DWORD |
| | (WINAPI * PCLUSAPI_REMOVE_RESOURCE_FROM_CLUSTER_SHARED_VOLUMES)( |
| | __in HRESOURCE hResource |
| | ); |
| | |
| | #if (CLUSAPI_VERSION >= CLUSAPI_VERSION_SERVER2008R2) |
| | DWORD |
| | WINAPI |
| | IsFileOnClusterSharedVolume( |
| | __in LPCWSTR lpszPathName, |
| | __out PBOOL pbFileIsOnSharedVolume |
| | ); |
| | #endif |
| | |
| | typedef DWORD |
| | (WINAPI *PCLUSAPI_IS_FILE_ON_CLUSTER_SHARED_VOLUME)( |
| | __in LPCWSTR lpszPathName, |
| | __out PBOOL pbFileIsOnSharedVolume |
| | ); |
| | |
| BOOL | | BOOL |
| WINAPI | | WINAPI |
| CanResourceBeDependent( | | CanResourceBeDependent( |
| __in HRESOURCE hResource, | | __in HRESOURCE hResource, |
| __in HRESOURCE hResourceDependent | | __in HRESOURCE hResourceDependent |
| ); | | ); |
| | |
| typedef BOOL | | typedef BOOL |
| (WINAPI * PCLUSAPI_CAN_RESOURCE_BE_DEPENDENT)( | | (WINAPI * PCLUSAPI_CAN_RESOURCE_BE_DEPENDENT)( |
| HRESOURCE hResource, | | HRESOURCE hResource, |
| | |
| skipping to change at line 1517 | | skipping to change at line 1847 |
| __in HNODE hNode, | | __in HNODE hNode, |
| __in_opt HNODE hHostNode, | | __in_opt HNODE hHostNode, |
| __in DWORD dwControlCode, | | __in DWORD dwControlCode, |
| __in_bcount_opt(nInBufferSize) LPVOID lpInBuffer, | | __in_bcount_opt(nInBufferSize) LPVOID lpInBuffer, |
| __in DWORD nInBufferSize, | | __in DWORD nInBufferSize, |
| __out_bcount_part_opt(nOutBufferSize, *lpBytesReturned) LPVOID lpOutBuffer, | | __out_bcount_part_opt(nOutBufferSize, *lpBytesReturned) LPVOID lpOutBuffer, |
| __in DWORD nOutBufferSize, | | __in DWORD nOutBufferSize, |
| __out_opt LPDWORD lpBytesReturned | | __out_opt LPDWORD lpBytesReturned |
| ); | | ); |
| | |
|
| | __success(return != FALSE) |
| BOOL | | BOOL |
| WINAPI | | WINAPI |
| GetClusterResourceNetworkName( | | GetClusterResourceNetworkName( |
| __in HRESOURCE hResource, | | __in HRESOURCE hResource, |
| __out_ecount_part(*nSize, *nSize + 1) LPWSTR lpBuffer, | | __out_ecount_part(*nSize, *nSize + 1) LPWSTR lpBuffer, |
| __inout LPDWORD nSize | | __inout LPDWORD nSize |
| ); | | ); |
| | |
| typedef BOOL | | typedef BOOL |
| (WINAPI * PCLUSAPI_GET_CLUSTER_RESOURCE_NETWORK_NAME)( | | (WINAPI * PCLUSAPI_GET_CLUSTER_RESOURCE_NETWORK_NAME)( |
| | |
| skipping to change at line 1779 | | skipping to change at line 2110 |
| | |
| 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_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_CREDS_UPDATED = CLCTL_EXTERNAL_CODE( 98, CLUS_ACCE |
| | SS_WRITE, CLUS_MODIFY )|CLCTL_GLOBAL_MASK, |
| | |
| 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_GET_ALL_AVAILABLE_DISKS = CLCTL_EXTERNAL_CODE( 103, CLUS_ACC | | CLCTL_STORAGE_SYNC_CLUSDISK_DB = CLCTL_EXTERNAL_CODE( 103, CLUS_ACC |
| ESS_READ, CLUS_NO_MODIFY ), | | ESS_WRITE, CLUS_MODIFY ), |
| CLCTL_STORAGE_SYNC_CLUSDISK_DB = (CLCTL_EXTERNAL_CODE( 103, CLUS_AC | | |
| CESS_WRITE, CLUS_MODIFY ) | CLCTL_GLOBAL_MASK), | | |
| | |
| 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_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_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_GET_MOUNTPOINTS = CLCTL_EXTERNAL_CODE( 132, CLUS_ACC |
| | ESS_READ, CLUS_NO_MODIFY ), |
| | // This control was erroneously numbered as 132 in Win2k8, but does not coll |
| | ide with the above because |
| | // of the access mask. Changing it to 133 causes incompatibility with apps c |
| | ompiled against Win2k8. |
| | CLCTL_STORAGE_CLUSTER_DISK = CLCTL_EXTERNAL_CODE( 132, CLUS_ACC |
| | ESS_WRITE, CLUS_MODIFY )|CLCTL_GLOBAL_MASK, |
| | 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. |
| | 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_VALIDATE_PATH = CLCTL_EXTERNAL_CODE( 140, CLUS_ACC |
| | ESS_READ, CLUS_NO_MODIFY ), |
| | CLCTL_VALIDATE_NETNAME = CLCTL_EXTERNAL_CODE( 141, CLUS_ACC |
| | ESS_READ, CLUS_NO_MODIFY ), |
| | CLCTL_VALIDATE_DIRECTORY = CLCTL_EXTERNAL_CODE( 142, CLUS_ACC |
| | ESS_READ, CLUS_NO_MODIFY ), |
| | CLCTL_BATCH_BLOCK_KEY = CLCTL_EXTERNAL_CODE( 143, CLUS_ACC |
| | ESS_WRITE, CLUS_NO_MODIFY ), |
| | CLCTL_BATCH_UNBLOCK_KEY = CLCTL_EXTERNAL_CODE( 144, CLUS_ACC |
| | ESS_READ, CLUS_NO_MODIFY ), |
| | CLCTL_FILESERVER_SHARE_ADD = CLCTL_EXTERNAL_CODE( 145, CLUS_ACC |
| | ESS_READ, CLUS_MODIFY ), |
| | CLCTL_FILESERVER_SHARE_DEL = CLCTL_EXTERNAL_CODE( 146, CLUS_ACC |
| | ESS_READ, CLUS_MODIFY ), |
| | CLCTL_FILESERVER_SHARE_MODIFY = CLCTL_EXTERNAL_CODE( 147, CLUS_ACC |
| | ESS_READ, CLUS_MODIFY ), |
| | CLCTL_FILESERVER_SHARE_REPORT = CLCTL_EXTERNAL_CODE( 148, CLUS_ACC |
| | ESS_READ, CLUS_NO_MODIFY ), |
| | |
| | // Codes 160-161 are available for storage after the two previous squatters |
| | were made internal. |
| | CLCTL_ENABLE_SHARED_VOLUME_DIRECTIO = CLCTL_EXTERNAL_CODE( 162, CLUS_ACC |
| | ESS_WRITE, CLUS_MODIFY ), |
| | CLCTL_DISABLE_SHARED_VOLUME_DIRECTIO = CLCTL_EXTERNAL_CODE( 163, CLUS_ACC |
| | ESS_WRITE, CLUS_MODIFY ), |
| | CLCTL_GET_SHARED_VOLUME_ID = CLCTL_EXTERNAL_CODE( 164, CLUS_ACC |
| | ESS_READ, CLUS_NO_MODIFY ), |
| | CLCTL_SET_CSV_MAINTENANCE_MODE = CLCTL_EXTERNAL_CODE( 165, CLUS_ACC |
| | ESS_WRITE, CLUS_MODIFY ), |
| | CLCTL_SET_SHARED_VOLUME_BACKUP_MODE = CLCTL_EXTERNAL_CODE( 166, CLUS_ACC |
| | ESS_WRITE, CLUS_MODIFY ), |
| | // Control codes 2000 to 2999 are reserved. |
| | |
| // | | // |
| // 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 ), |
| | |
| skipping to change at line 1822 | | skipping to change at line 2183 |
| CLCTL_CLUSTER_VERSION_CHANGED = CLCTL_INTERNAL_CODE( 11, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), | | CLCTL_CLUSTER_VERSION_CHANGED = CLCTL_INTERNAL_CODE( 11, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), |
| CLCTL_FIXUP_ON_UPGRADE = CLCTL_INTERNAL_CODE( 12, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), | | CLCTL_FIXUP_ON_UPGRADE = CLCTL_INTERNAL_CODE( 12, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), |
| CLCTL_STARTING_PHASE1 = CLCTL_INTERNAL_CODE( 13, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), | | CLCTL_STARTING_PHASE1 = CLCTL_INTERNAL_CODE( 13, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), |
| CLCTL_STARTING_PHASE2 = CLCTL_INTERNAL_CODE( 14, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), | | CLCTL_STARTING_PHASE2 = CLCTL_INTERNAL_CODE( 14, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), |
| CLCTL_HOLD_IO = CLCTL_INTERNAL_CODE( 15, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), | | CLCTL_HOLD_IO = CLCTL_INTERNAL_CODE( 15, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), |
| CLCTL_RESUME_IO = CLCTL_INTERNAL_CODE( 16, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), | | CLCTL_RESUME_IO = CLCTL_INTERNAL_CODE( 16, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), |
| CLCTL_FORCE_QUORUM = CLCTL_INTERNAL_CODE( 17, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), | | CLCTL_FORCE_QUORUM = CLCTL_INTERNAL_CODE( 17, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), |
| CLCTL_INITIALIZE = CLCTL_INTERNAL_CODE( 18, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), | | CLCTL_INITIALIZE = CLCTL_INTERNAL_CODE( 18, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), |
| CLCTL_STATE_CHANGE_REASON = CLCTL_INTERNAL_CODE( 19, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), | | CLCTL_STATE_CHANGE_REASON = CLCTL_INTERNAL_CODE( 19, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), |
| CLCTL_PROVIDER_STATE_CHANGE = CLCTL_INTERNAL_CODE( 20, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), | | CLCTL_PROVIDER_STATE_CHANGE = CLCTL_INTERNAL_CODE( 20, CLUS_ACCE
SS_WRITE, CLUS_MODIFY ), |
|
| | CLCTL_LEAVING_GROUP = CLCTL_INTERNAL_CODE( 21, CLUS_ACCE |
| | SS_WRITE, CLUS_MODIFY ), |
| | CLCTL_JOINING_GROUP = CLCTL_INTERNAL_CODE( 22, CLUS_ACCE |
| | SS_WRITE, CLUS_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_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_STORAGE_GET_DISK_NUMBER = CLCTL_INTERNAL_CODE( 27, CLUS_ACCE |
| | SS_READ, CLUS_NO_MODIFY ), |
| | CLCTL_STORAGE_GET_CSV_DISK_INFO = CLCTL_INTERNAL_CODE( 28, CLUS_ACCE |
| | SS_READ, CLUS_NO_MODIFY ), |
| | CLCTL_SET_CLUSTER_MEMBERSHIP = CLCTL_INTERNAL_CODE( 29, CLUS_ACCE |
| | SS_WRITE, CLUS_MODIFY ), |
| | CLCTL_SET_SHARED_PR_KEY = CLCTL_INTERNAL_CODE( 30, CLUS_ACCE |
| | SS_WRITE, CLUS_MODIFY ), |
| | CLCTL_QUERY_CSV_MAINTENANCE_MODE = CLCTL_INTERNAL_CODE( 31, CLUS_ACCE |
| | SS_READ, CLUS_NO_MODIFY ), |
| } 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 1855 | | skipping to change at line 2229 |
| #define CLUSCTL_NETINTERFACE_CODE( Function ) ( \ | | #define CLUSCTL_NETINTERFACE_CODE( Function ) ( \ |
| ((CLUS_OBJECT_NETINTERFACE << CLUSCTL_OBJECT_SHIFT) | Function) ) | | ((CLUS_OBJECT_NETINTERFACE << CLUSCTL_OBJECT_SHIFT) | Function) ) |
| | |
| #define CLUSCTL_CLUSTER_CODE( Function ) ( \ | | #define CLUSCTL_CLUSTER_CODE( Function ) ( \ |
| ((CLUS_OBJECT_CLUSTER << CLUSCTL_OBJECT_SHIFT) | Function) ) | | ((CLUS_OBJECT_CLUSTER << CLUSCTL_OBJECT_SHIFT) | Function) ) |
| | |
| #define CLUSCTL_USER_CODE( Function, Object ) ( \ | | #define CLUSCTL_USER_CODE( Function, Object ) ( \ |
| ((Object) << CLUSCTL_OBJECT_SHIFT) | ((CLCTL_USER_BASE + Function) << CLUSC
TL_FUNCTION_SHIFT) ) | | ((Object) << CLUSCTL_OBJECT_SHIFT) | ((CLCTL_USER_BASE + Function) << CLUSC
TL_FUNCTION_SHIFT) ) |
| | |
| // | | // |
|
| // Define macros to get the function or access mode out of a control code | | // Define macros to get the function, object, access mode, or User Base flag out |
| | // of a control code |
| // | | // |
| #define CLUSCTL_GET_CONTROL_FUNCTION( ControlCode ) \ | | #define CLUSCTL_GET_CONTROL_FUNCTION( ControlCode ) \ |
| ((ControlCode >> CLUSCTL_ACCESS_SHIFT) & CLUSCTL_CONTROL_CODE_MASK) | | ((ControlCode >> CLUSCTL_ACCESS_SHIFT) & CLUSCTL_CONTROL_CODE_MASK) |
| | |
| #define CLUSCTL_GET_ACCESS_MODE( ControlCode ) \ | | #define CLUSCTL_GET_ACCESS_MODE( ControlCode ) \ |
| ((ControlCode >> CLUSCTL_ACCESS_SHIFT) & CLUSCTL_ACCESS_MODE_MASK) | | ((ControlCode >> CLUSCTL_ACCESS_SHIFT) & CLUSCTL_ACCESS_MODE_MASK) |
| | |
| #define CLUSCTL_GET_CONTROL_OBJECT( ControlCode ) \ | | #define CLUSCTL_GET_CONTROL_OBJECT( ControlCode ) \ |
| ((ControlCode >> CLUSCTL_OBJECT_SHIFT) & CLUSCTL_OBJECT_MASK) | | ((ControlCode >> CLUSCTL_OBJECT_SHIFT) & CLUSCTL_OBJECT_MASK) |
| | |
|
| | #define CLUSCTL_GET_USER( ControlCode ) \ |
| | ((ControlCode & CLCTL_USER_MASK) >> CLCTL_USER_SHIFT) |
| | |
| #ifndef _CLUSTER_API_TYPES_ | | #ifndef _CLUSTER_API_TYPES_ |
| // | | // |
| // Cluster Control Codes for Resources | | // Cluster Control Codes for Resources |
| // | | // |
| typedef enum CLUSCTL_RESOURCE_CODES { | | typedef enum CLUSCTL_RESOURCE_CODES { |
| | |
| // External | | // External |
| CLUSCTL_RESOURCE_UNKNOWN = | | CLUSCTL_RESOURCE_UNKNOWN = |
| CLUSCTL_RESOURCE_CODE( CLCTL_UNKNOWN ), | | CLUSCTL_RESOURCE_CODE( CLCTL_UNKNOWN ), |
| | |
| | |
| skipping to change at line 1969 | | skipping to change at line 2347 |
| | |
| CLUSCTL_RESOURCE_NETNAME_SET_PWD_INFO = | | CLUSCTL_RESOURCE_NETNAME_SET_PWD_INFO = |
| CLUSCTL_RESOURCE_CODE( CLCTL_NETNAME_SET_PWD_INFO ), | | CLUSCTL_RESOURCE_CODE( CLCTL_NETNAME_SET_PWD_INFO ), |
| | |
| CLUSCTL_RESOURCE_NETNAME_DELETE_CO = | | CLUSCTL_RESOURCE_NETNAME_DELETE_CO = |
| CLUSCTL_RESOURCE_CODE( CLCTL_NETNAME_DELETE_CO ), | | CLUSCTL_RESOURCE_CODE( CLCTL_NETNAME_DELETE_CO ), |
| | |
| CLUSCTL_RESOURCE_NETNAME_VALIDATE_VCO = | | CLUSCTL_RESOURCE_NETNAME_VALIDATE_VCO = |
| CLUSCTL_RESOURCE_CODE( CLCTL_NETNAME_VALIDATE_VCO ), | | CLUSCTL_RESOURCE_CODE( CLCTL_NETNAME_VALIDATE_VCO ), |
| | |
|
| | CLUSCTL_RESOURCE_NETNAME_RESET_VCO = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_NETNAME_RESET_VCO ), |
| | |
| 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_IS_PATH_VALID = | | CLUSCTL_RESOURCE_STORAGE_IS_PATH_VALID = |
| | |
| skipping to change at line 2011 | | skipping to change at line 2392 |
| | |
| 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_FILESERVER_SHARE_ADD = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_FILESERVER_SHARE_ADD ), |
| | |
| | CLUSCTL_RESOURCE_FILESERVER_SHARE_DEL = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_FILESERVER_SHARE_DEL ), |
| | |
| | CLUSCTL_RESOURCE_FILESERVER_SHARE_MODIFY = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_FILESERVER_SHARE_MODIFY ), |
| | |
| | CLUSCTL_RESOURCE_FILESERVER_SHARE_REPORT = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_FILESERVER_SHARE_REPORT ), |
| | |
| | CLUSCTL_RESOURCE_STORAGE_GET_MOUNTPOINTS = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_STORAGE_GET_MOUNTPOINTS ), |
| | |
| | CLUSCTL_RESOURCE_STORAGE_CLUSTER_DISK = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_STORAGE_CLUSTER_DISK ), |
| | |
| | CLUSCTL_RESOURCE_STORAGE_GET_DIRTY = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_STORAGE_GET_DIRTY ), |
| | |
| | CLUSCTL_RESOURCE_STORAGE_GET_SHARED_VOLUME_INFO = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_STORAGE_GET_SHARED_VOLUME_INFO ), |
| | |
| | CLUSCTL_RESOURCE_SET_CSV_MAINTENANCE_MODE = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_SET_CSV_MAINTENANCE_MODE ), |
| | |
| | CLUSCTL_RESOURCE_ENABLE_SHARED_VOLUME_DIRECTIO = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_ENABLE_SHARED_VOLUME_DIRECTIO ), |
| | |
| | CLUSCTL_RESOURCE_DISABLE_SHARED_VOLUME_DIRECTIO = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_DISABLE_SHARED_VOLUME_DIRECTIO ), |
| | |
| | CLUSCTL_RESOURCE_SET_SHARED_VOLUME_BACKUP_MODE = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_SET_SHARED_VOLUME_BACKUP_MODE ), |
| | |
| // Internal | | // Internal |
| CLUSCTL_RESOURCE_DELETE = | | CLUSCTL_RESOURCE_DELETE = |
| CLUSCTL_RESOURCE_CODE( CLCTL_DELETE ), | | CLUSCTL_RESOURCE_CODE( CLCTL_DELETE ), |
| | |
| CLUSCTL_RESOURCE_INSTALL_NODE = | | CLUSCTL_RESOURCE_INSTALL_NODE = |
| CLUSCTL_RESOURCE_CODE( CLCTL_INSTALL_NODE ), | | CLUSCTL_RESOURCE_CODE( CLCTL_INSTALL_NODE ), |
| | |
| CLUSCTL_RESOURCE_EVICT_NODE = | | CLUSCTL_RESOURCE_EVICT_NODE = |
| CLUSCTL_RESOURCE_CODE( CLCTL_EVICT_NODE ), | | CLUSCTL_RESOURCE_CODE( CLCTL_EVICT_NODE ), |
| | |
| | |
| skipping to change at line 2054 | | skipping to change at line 2471 |
| | |
| CLUSCTL_RESOURCE_INITIALIZE = | | CLUSCTL_RESOURCE_INITIALIZE = |
| CLUSCTL_RESOURCE_CODE( CLCTL_INITIALIZE ), | | CLUSCTL_RESOURCE_CODE( CLCTL_INITIALIZE ), |
| | |
| CLUSCTL_RESOURCE_STATE_CHANGE_REASON = | | CLUSCTL_RESOURCE_STATE_CHANGE_REASON = |
| CLUSCTL_RESOURCE_CODE( CLCTL_STATE_CHANGE_REASON ), | | CLUSCTL_RESOURCE_CODE( CLCTL_STATE_CHANGE_REASON ), |
| | |
| CLUSCTL_RESOURCE_PROVIDER_STATE_CHANGE = | | CLUSCTL_RESOURCE_PROVIDER_STATE_CHANGE = |
| CLUSCTL_RESOURCE_CODE( CLCTL_PROVIDER_STATE_CHANGE ), | | CLUSCTL_RESOURCE_CODE( CLCTL_PROVIDER_STATE_CHANGE ), |
| | |
|
| | CLUSCTL_RESOURCE_LEAVING_GROUP = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_LEAVING_GROUP ), |
| | |
| | CLUSCTL_RESOURCE_JOINING_GROUP = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_JOINING_GROUP ), |
| | |
| | CLUSCTL_RESOURCE_FSWITNESS_GET_EPOCH_INFO = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_FSWITNESS_GET_EPOCH_INFO ), |
| | |
| | CLUSCTL_RESOURCE_FSWITNESS_SET_EPOCH_INFO = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_FSWITNESS_SET_EPOCH_INFO ), |
| | |
| | CLUSCTL_RESOURCE_FSWITNESS_RELEASE_LOCK = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_FSWITNESS_RELEASE_LOCK ), |
| | |
| | CLUSCTL_RESOURCE_NETNAME_CREDS_UPDATED = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_NETNAME_CREDS_UPDATED ), |
| | |
| | CLUSCTL_RESOURCE_NETNAME_CREDS_NOTIFYCAM = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_NETNAME_CREDS_NOTIFYCAM ), |
| | |
| | CLUSCTL_RESOURCE_SET_CLUSTER_MEMBERSHIP = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_SET_CLUSTER_MEMBERSHIP ), |
| | |
| | CLUSCTL_RESOURCE_SET_SHARED_PR_KEY = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_SET_SHARED_PR_KEY ), |
| | |
| | CLUSCTL_RESOURCE_STORAGE_GET_DISK_NUMBER = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_STORAGE_GET_DISK_NUMBER ), |
| | |
| | CLUSCTL_RESOURCE_STORAGE_GET_CSV_DISK_INFO = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_STORAGE_GET_CSV_DISK_INFO ), |
| | |
| | CLUSCTL_RESOURCE_QUERY_CSV_MAINTENANCE_MODE = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_QUERY_CSV_MAINTENANCE_MODE ), |
| | |
| } 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 2134 | | skipping to change at line 2587 |
| | |
| CLUSCTL_RESOURCE_TYPE_GET_CRYPTO_CHECKPOINTS = | | CLUSCTL_RESOURCE_TYPE_GET_CRYPTO_CHECKPOINTS = |
| CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_GET_CRYPTO_CHECKPOINTS ), | | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_GET_CRYPTO_CHECKPOINTS ), |
| | |
| CLUSCTL_RESOURCE_TYPE_STORAGE_GET_AVAILABLE_DISKS = | | CLUSCTL_RESOURCE_TYPE_STORAGE_GET_AVAILABLE_DISKS = |
| CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_STORAGE_GET_AVAILABLE_DISKS ), | | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_STORAGE_GET_AVAILABLE_DISKS ), |
| | |
| CLUSCTL_RESOURCE_TYPE_STORAGE_SYNC_CLUSDISK_DB = | | CLUSCTL_RESOURCE_TYPE_STORAGE_SYNC_CLUSDISK_DB = |
| CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_STORAGE_SYNC_CLUSDISK_DB ), | | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_STORAGE_SYNC_CLUSDISK_DB ), |
| | |
|
| | CLUSCTL_RESOURCE_TYPE_NETNAME_VALIDATE_NETNAME = |
| | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_VALIDATE_NETNAME ), |
| | |
| | CLUSCTL_RESOURCE_TYPE_GEN_APP_VALIDATE_PATH = |
| | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_VALIDATE_PATH ), |
| | |
| | CLUSCTL_RESOURCE_TYPE_GEN_APP_VALIDATE_DIRECTORY = |
| | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_VALIDATE_DIRECTORY ), |
| | |
| | CLUSCTL_RESOURCE_TYPE_GEN_SCRIPT_VALIDATE_PATH = |
| | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_VALIDATE_PATH ), |
| | |
| CLUSCTL_RESOURCE_TYPE_QUERY_DELETE = | | CLUSCTL_RESOURCE_TYPE_QUERY_DELETE = |
| CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_QUERY_DELETE ), | | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_QUERY_DELETE ), |
| | |
| CLUSCTL_RESOURCE_TYPE_STORAGE_GET_DRIVELETTERS = | | CLUSCTL_RESOURCE_TYPE_STORAGE_GET_DRIVELETTERS = |
| CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_STORAGE_GET_DRIVELETTERS ), | | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_STORAGE_GET_DRIVELETTERS ), |
| | |
| CLUSCTL_RESOURCE_TYPE_STORAGE_GET_AVAILABLE_DISKS_EX = | | CLUSCTL_RESOURCE_TYPE_STORAGE_GET_AVAILABLE_DISKS_EX = |
| CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_STORAGE_GET_AVAILABLE_DISKS_EX ), | | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_STORAGE_GET_AVAILABLE_DISKS_EX ), |
| | |
| CLUSCTL_RESOURCE_TYPE_STORAGE_REMAP_DRIVELETTER = | | CLUSCTL_RESOURCE_TYPE_STORAGE_REMAP_DRIVELETTER = |
| CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_STORAGE_REMAP_DRIVELETTER ), | | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_STORAGE_REMAP_DRIVELETTER ), |
| | |
|
| | CLUSCTL_RESOURCE_TYPE_STORAGE_GET_DISKID = |
| | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_STORAGE_GET_DISKID ), |
| | |
| | CLUSCTL_RESOURCE_TYPE_STORAGE_IS_CLUSTERABLE = |
| | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_STORAGE_IS_CLUSTERABLE ), |
| | |
| | CLUSCTL_RESOURCE_TYPE_STORAGE_REMOVE_VM_OWNERSHIP = |
| | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_STORAGE_REMOVE_VM_OWNERSHIP ), |
| | |
| | CLUSCTL_RESOURCE_TYPE_STORAGE_IS_CSV_FILE = |
| | CLUSCTL_RESOURCE_CODE( CLCTL_STORAGE_IS_CSV_FILE ), |
| | |
| | CLUSCTL_RESOURCE_TYPE_WITNESS_VALIDATE_PATH = |
| | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_VALIDATE_PATH ), |
| | |
| // Internal | | // Internal |
| CLUSCTL_RESOURCE_TYPE_INSTALL_NODE = | | CLUSCTL_RESOURCE_TYPE_INSTALL_NODE = |
| CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_INSTALL_NODE ), | | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_INSTALL_NODE ), |
| | |
| CLUSCTL_RESOURCE_TYPE_EVICT_NODE = | | CLUSCTL_RESOURCE_TYPE_EVICT_NODE = |
| CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_EVICT_NODE ), | | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_EVICT_NODE ), |
| | |
| CLUSCTL_RESOURCE_TYPE_CLUSTER_VERSION_CHANGED = | | CLUSCTL_RESOURCE_TYPE_CLUSTER_VERSION_CHANGED = |
| CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_CLUSTER_VERSION_CHANGED ), | | CLUSCTL_RESOURCE_TYPE_CODE( CLCTL_CLUSTER_VERSION_CHANGED ), |
| | |
| | |
| skipping to change at line 2424 | | skipping to change at line 2904 |
| | |
| CLUSCTL_NETINTERFACE_GET_COMMON_PROPERTY_FMTS= | | CLUSCTL_NETINTERFACE_GET_COMMON_PROPERTY_FMTS= |
| CLUSCTL_NETINTERFACE_CODE( CLCTL_GET_COMMON_PROPERTY_FMTS ), | | CLUSCTL_NETINTERFACE_CODE( CLCTL_GET_COMMON_PROPERTY_FMTS ), |
| | |
| CLUSCTL_NETINTERFACE_GET_PRIVATE_PROPERTY_FMTS= | | CLUSCTL_NETINTERFACE_GET_PRIVATE_PROPERTY_FMTS= |
| CLUSCTL_NETINTERFACE_CODE( CLCTL_GET_PRIVATE_PROPERTY_FMTS ) | | CLUSCTL_NETINTERFACE_CODE( CLCTL_GET_PRIVATE_PROPERTY_FMTS ) |
| | |
| } CLUSCTL_NETINTERFACE_CODES; | | } CLUSCTL_NETINTERFACE_CODES; |
| | |
| // | | // |
|
| // Cluster Control Codes for Nodes | | // Cluster Control Codes for Clusters |
| // | | // |
| 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 ), |
| | |
| | |
| skipping to change at line 2480 | | skipping to change at line 2960 |
| | |
| CLUSCTL_CLUSTER_CHECK_VOTER_EVICT= | | CLUSCTL_CLUSTER_CHECK_VOTER_EVICT= |
| CLUSCTL_CLUSTER_CODE( CLCTL_CHECK_VOTER_EVICT ), | | CLUSCTL_CLUSTER_CODE( CLCTL_CHECK_VOTER_EVICT ), |
| | |
| CLUSCTL_CLUSTER_CHECK_VOTER_DOWN= | | CLUSCTL_CLUSTER_CHECK_VOTER_DOWN= |
| CLUSCTL_CLUSTER_CODE( CLCTL_CHECK_VOTER_DOWN ), | | CLUSCTL_CLUSTER_CODE( CLCTL_CHECK_VOTER_DOWN ), |
| | |
| CLUSCTL_CLUSTER_SHUTDOWN= | | CLUSCTL_CLUSTER_SHUTDOWN= |
| CLUSCTL_CLUSTER_CODE( CLCTL_SHUTDOWN ), | | CLUSCTL_CLUSTER_CODE( CLCTL_SHUTDOWN ), |
| | |
|
| | CLUSCTL_CLUSTER_BATCH_BLOCK_KEY = |
| | CLUSCTL_CLUSTER_CODE( CLCTL_BATCH_BLOCK_KEY ), |
| | |
| | CLUSCTL_CLUSTER_BATCH_UNBLOCK_KEY = |
| | CLUSCTL_CLUSTER_CODE( CLCTL_BATCH_UNBLOCK_KEY ), |
| | |
| | CLUSCTL_CLUSTER_GET_SHARED_VOLUME_ID = |
| | CLUSCTL_CLUSTER_CODE( CLCTL_GET_SHARED_VOLUME_ID ), |
| | |
| } 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 2510 | | skipping to change at line 2999 |
| | |
| 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; | | } 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 | | // Cluster Characteristics used by resource types and resources |
| // | | // |
| typedef enum CLUS_CHARACTERISTICS { | | typedef enum CLUS_CHARACTERISTICS { |
| CLUS_CHAR_UNKNOWN = 0x00000000, | | CLUS_CHAR_UNKNOWN = 0x00000000, |
| CLUS_CHAR_QUORUM = 0x00000001, | | CLUS_CHAR_QUORUM = 0x00000001, |
| CLUS_CHAR_DELETE_REQUIRES_ALL_NODES = 0x00000002, | | CLUS_CHAR_DELETE_REQUIRES_ALL_NODES = 0x00000002, |
|
| CLUS_CHAR_LOCAL_QUORUM = 0x00000004, | | CLUS_CHAR_LOCAL_QUORUM = 0x00000004, // deprecated in |
| CLUS_CHAR_LOCAL_QUORUM_DEBUG = 0x00000008, | | Vista |
| CLUS_CHAR_REQUIRES_STATE_CHANGE_REASON = 0x00000010 | | CLUS_CHAR_LOCAL_QUORUM_DEBUG = 0x00000008, // deprecated in |
| | Vista |
| | CLUS_CHAR_REQUIRES_STATE_CHANGE_REASON = 0x00000010, |
| | CLUS_CHAR_BROADCAST_DELETE = 0x00000020, |
| | 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_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 2540 | | skipping to change at line 3032 |
| // | | // |
| | |
| #if ( !MIDL_PASS && !__midl ) | | #if ( !MIDL_PASS && !__midl ) |
| | |
| // Property syntax. Used for property names and values. | | // Property syntax. Used for property names and values. |
| typedef union CLUSPROP_SYNTAX { | | typedef union CLUSPROP_SYNTAX { |
| DWORD dw; | | DWORD dw; |
| struct { | | struct { |
| WORD wFormat; | | WORD wFormat; |
| WORD wType; | | WORD wType; |
|
| }; | | } DUMMYSTRUCTNAME; |
| } CLUSPROP_SYNTAX, *PCLUSPROP_SYNTAX; | | } CLUSPROP_SYNTAX, *PCLUSPROP_SYNTAX; |
| | |
| // Property value. | | // Property value. |
| typedef struct CLUSPROP_VALUE { | | typedef struct CLUSPROP_VALUE { |
| CLUSPROP_SYNTAX Syntax; | | CLUSPROP_SYNTAX Syntax; |
| DWORD cbLength; | | DWORD cbLength; |
| } CLUSPROP_VALUE, *PCLUSPROP_VALUE; | | } CLUSPROP_VALUE, *PCLUSPROP_VALUE; |
| | |
| // Binary property value. | | // Binary property value. |
| #ifdef __cplusplus | | #ifdef __cplusplus |
| | |
| skipping to change at line 2641 | | skipping to change at line 3133 |
| // Security Descriptor property value. | | // Security Descriptor property value. |
| #ifdef __cplusplus | | #ifdef __cplusplus |
| typedef struct CLUSPROP_SECURITY_DESCRIPTOR : public CLUSPROP_VALUE { | | typedef struct CLUSPROP_SECURITY_DESCRIPTOR : public CLUSPROP_VALUE { |
| #else | | #else |
| typedef struct CLUSPROP_SECURITY_DESCRIPTOR { | | typedef struct CLUSPROP_SECURITY_DESCRIPTOR { |
| CLUSPROP_VALUE; | | CLUSPROP_VALUE; |
| #endif | | #endif |
| union { | | union { |
| SECURITY_DESCRIPTOR_RELATIVE sd; | | SECURITY_DESCRIPTOR_RELATIVE sd; |
| BYTE rgbSecurityDescriptor[]; | | BYTE rgbSecurityDescriptor[]; |
|
| }; | | } DUMMYUNIONNAME; |
| } CLUSPROP_SECURITY_DESCRIPTOR, *PCLUSPROP_SECURITY_DESCRIPTOR; | | } CLUSPROP_SECURITY_DESCRIPTOR, *PCLUSPROP_SECURITY_DESCRIPTOR; |
| | |
| // FILETIME Time property value. | | // FILETIME Time property value. |
| #ifdef __cplusplus | | #ifdef __cplusplus |
| typedef struct CLUSPROP_FILETIME | | typedef struct CLUSPROP_FILETIME |
| : public CLUSPROP_VALUE { | | : public CLUSPROP_VALUE { |
| #else | | #else |
| typedef struct CLUSPROP_FILETIME { | | typedef struct CLUSPROP_FILETIME { |
| CLUSPROP_VALUE; | | CLUSPROP_VALUE; |
| #endif | | #endif |
| FILETIME ft; | | FILETIME ft; |
| } CLUSPROP_FILETIME, *PCLUSPROP_FILETIME; | | } CLUSPROP_FILETIME, *PCLUSPROP_FILETIME; |
| | |
| // Resource class info returned by CLCTL_GET_CLASS_INFO control functions. | | // Resource class info returned by CLCTL_GET_CLASS_INFO control functions. |
| typedef struct CLUS_RESOURCE_CLASS_INFO { | | typedef struct CLUS_RESOURCE_CLASS_INFO { |
| union { | | union { |
| struct { | | struct { |
| union { | | union { |
| DWORD dw; | | DWORD dw; |
| CLUSTER_RESOURCE_CLASS rc; | | CLUSTER_RESOURCE_CLASS rc; |
|
| }; | | } DUMMYUNIONNAME; |
| DWORD SubClass; | | DWORD SubClass; |
|
| }; | | } DUMMYSTRUCTNAME; |
| ULARGE_INTEGER li; | | ULARGE_INTEGER li; |
|
| }; | | } DUMMYUNIONNAME; |
| } CLUS_RESOURCE_CLASS_INFO, *PCLUS_RESOURCE_CLASS_INFO; | | } CLUS_RESOURCE_CLASS_INFO, *PCLUS_RESOURCE_CLASS_INFO; |
| | |
| // Resource class property value. | | // Resource class property value. |
| #ifdef __cplusplus | | #ifdef __cplusplus |
| typedef struct CLUSPROP_RESOURCE_CLASS | | typedef struct CLUSPROP_RESOURCE_CLASS |
| : public CLUSPROP_VALUE { | | : public CLUSPROP_VALUE { |
| #else | | #else |
| typedef struct CLUSPROP_RESOURCE_CLASS { | | typedef struct CLUSPROP_RESOURCE_CLASS { |
| CLUSPROP_VALUE; | | CLUSPROP_VALUE; |
| #endif | | #endif |
| | |
| skipping to change at line 2736 | | skipping to change at line 3228 |
| DWORD dwFlags; | | DWORD dwFlags; |
| WCHAR szDeviceName[MAX_PATH]; | | WCHAR szDeviceName[MAX_PATH]; |
| WCHAR szVolumeLabel[MAX_PATH]; | | WCHAR szVolumeLabel[MAX_PATH]; |
| DWORD dwSerialNumber; | | DWORD dwSerialNumber; |
| DWORD rgdwMaximumComponentLength; | | DWORD rgdwMaximumComponentLength; |
| DWORD dwFileSystemFlags; | | DWORD dwFileSystemFlags; |
| WCHAR szFileSystem[32]; | | WCHAR szFileSystem[32]; |
| } CLUS_PARTITION_INFO, *PCLUS_PARTITION_INFO; | | } CLUS_PARTITION_INFO, *PCLUS_PARTITION_INFO; |
| | |
| // Disk partition information ex | | // Disk partition information ex |
|
| | |
| | // NOTE: property lists are 32b aligned which means this structure could be retu |
| | rned with a starting |
| | // address that is 32b. aligned, i.e., an address ending in 0, 4, 8 or 0xC. The |
| | distance to the |
| | // ULARGE_INTEGER members are properly aligned when the address of the structure |
| | ends with 0 or 8 but |
| | // are unaligned when the structure addresses ends with 4 or 0xC. Since it is un |
| | predictable as to |
| | // the alignment of the structure's address, the developer must always access th |
| | e ULARGE_INTEGER members |
| | // with unaligned pointers or copy the data to another, aligned structure. |
| | |
| typedef struct CLUS_PARTITION_INFO_EX { | | typedef struct CLUS_PARTITION_INFO_EX { |
| DWORD dwFlags; | | DWORD dwFlags; |
| WCHAR szDeviceName[MAX_PATH]; | | WCHAR szDeviceName[MAX_PATH]; |
| WCHAR szVolumeLabel[MAX_PATH]; | | WCHAR szVolumeLabel[MAX_PATH]; |
| DWORD dwSerialNumber; | | DWORD dwSerialNumber; |
| 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; |
| | |
|
| | typedef enum _CLUSTER_CSV_VOLUME_FAULT_STATE { |
| | VolumeStateNoFaults = 0x00000000, |
| | VolumeStateNoDirectIO = 0x00000001, |
| | VolumeStateNoAccess = 0x00000002, |
| | VolumeStateInMaintenance = 0x00000004, |
| | } CLUSTER_CSV_VOLUME_FAULT_STATE, *PCLUSTER_CSV_VOLUME_FAULT_STATE; |
| | |
| | typedef enum _CLUSTER_SHARED_VOLUME_BACKUP_STATE { |
| | VolumeBackupNone = 0x00000000, |
| | VolumeBackupInProgress = 0x00000001 |
| | } CLUSTER_SHARED_VOLUME_BACKUP_STATE, *PCLUSTER_SHARED_VOLUME_BACKUP_STATE; |
| | |
| | typedef struct _CLUS_CSV_VOLUME_INFO { |
| | ULARGE_INTEGER VolumeOffset; |
| | DWORD PartitionNumber; |
| | CLUSTER_CSV_VOLUME_FAULT_STATE FaultState; |
| | CLUSTER_SHARED_VOLUME_BACKUP_STATE BackupState; |
| | WCHAR szVolumeFriendlyName[MAX_PATH]; |
| | WCHAR szVolumeName[50]; // volume GUID |
| | } CLUS_CSV_VOLUME_INFO, *PCLUS_CSV_VOLUME_INFO; |
| | |
| | typedef struct _CLUS_DISK_NUMBER_INFO { |
| | DWORD DiskNumber; |
| | DWORD BytesPerSector; |
| | } CLUS_DISK_NUMBER_INFO, *PCLUS_DISK_NUMBER_INFO; |
| | |
| | typedef struct _CLUS_SHARED_VOLUME_BACKUP_MODE { |
| | CLUSTER_SHARED_VOLUME_BACKUP_STATE BackupState; |
| | DWORD DelayTimerInSecs; |
| | WCHAR VolumeName[MAX_PATH]; |
| | } CLUS_SHARED_VOLUME_BACKUP_MODE, *PCLUS_SHARED_VOLUME_BACKUP_MODE; |
| | |
| // Disk partition information property value. | | // Disk partition information property value. |
| #ifdef __cplusplus | | #ifdef __cplusplus |
| typedef struct CLUSPROP_PARTITION_INFO | | typedef struct CLUSPROP_PARTITION_INFO |
| : public CLUSPROP_VALUE | | : public CLUSPROP_VALUE |
| , public CLUS_PARTITION_INFO { | | , public CLUS_PARTITION_INFO { |
| #else | | #else |
| typedef struct CLUSPROP_PARTITION_INFO { | | typedef struct CLUSPROP_PARTITION_INFO { |
| CLUSPROP_VALUE; | | CLUSPROP_VALUE; |
| CLUS_PARTITION_INFO; | | CLUS_PARTITION_INFO; |
| #endif | | #endif |
| | |
| skipping to change at line 2807 | | skipping to change at line 3340 |
| typedef CLUSPROP_DWORD CLUSPROP_DISK_SIGNATURE, *PCLUSPROP_DISK_SIGNATURE; | | typedef CLUSPROP_DWORD CLUSPROP_DISK_SIGNATURE, *PCLUSPROP_DISK_SIGNATURE; |
| | |
| // SCSI Address. | | // SCSI Address. |
| typedef struct CLUS_SCSI_ADDRESS { | | typedef struct CLUS_SCSI_ADDRESS { |
| union { | | union { |
| struct { | | struct { |
| UCHAR PortNumber; | | UCHAR PortNumber; |
| UCHAR PathId; | | UCHAR PathId; |
| UCHAR TargetId; | | UCHAR TargetId; |
| UCHAR Lun; | | UCHAR Lun; |
|
| }; | | } DUMMYSTRUCTNAME; |
| DWORD dw; | | DWORD dw; |
|
| }; | | } DUMMYUNIONNAME; |
| } CLUS_SCSI_ADDRESS, *PCLUS_SCSI_ADDRESS; | | } CLUS_SCSI_ADDRESS, *PCLUS_SCSI_ADDRESS; |
| | |
| // SCSI Address property value. | | // SCSI Address property value. |
| #ifdef __cplusplus | | #ifdef __cplusplus |
| typedef struct CLUSPROP_SCSI_ADDRESS | | typedef struct CLUSPROP_SCSI_ADDRESS |
| : public CLUSPROP_VALUE | | : public CLUSPROP_VALUE |
| , public CLUS_SCSI_ADDRESS { | | , public CLUS_SCSI_ADDRESS { |
| #else | | #else |
| typedef struct CLUSPROP_SCSI_ADDRESS { | | typedef struct CLUSPROP_SCSI_ADDRESS { |
| CLUSPROP_VALUE; | | CLUSPROP_VALUE; |
| | |
| skipping to change at line 2857 | | skipping to change at line 3390 |
| WCHAR ObjectGuid[MAX_OBJECTID]; // | | WCHAR ObjectGuid[MAX_OBJECTID]; // |
| } CLUS_NETNAME_PWD_INFO, *PCLUS_NETNAME_PWD_INFO; | | } CLUS_NETNAME_PWD_INFO, *PCLUS_NETNAME_PWD_INFO; |
| | |
| // | | // |
| // input/output structure associated with Maintenance Mode | | // input/output structure associated with Maintenance Mode |
| // | | // |
| typedef struct CLUS_MAINTENANCE_MODE_INFO { | | typedef struct CLUS_MAINTENANCE_MODE_INFO { |
| BOOL InMaintenance; | | BOOL InMaintenance; |
| } CLUS_MAINTENANCE_MODE_INFO, *PCLUS_MAINTENANCE_MODE_INFO; | | } CLUS_MAINTENANCE_MODE_INFO, *PCLUS_MAINTENANCE_MODE_INFO; |
| | |
|
| | typedef struct CLUS_CSV_MAINTENANCE_MODE_INFO { |
| | BOOL InMaintenance; |
| | WCHAR VolumeName[MAX_PATH]; |
| | } CLUS_CSV_MAINTENANCE_MODE_INFO, *PCLUS_CSV_MAINTENANCE_MODE_INFO; |
| | |
| #define MAINTENANCE_MODE_V2_SIG 0xabbaf00f | | #define MAINTENANCE_MODE_V2_SIG 0xabbaf00f |
| | |
| typedef enum _MAINTENANCE_MODE_TYPE_ENUM { | | typedef enum _MAINTENANCE_MODE_TYPE_ENUM { |
| MaintenanceModeTypeDisableIsAliveCheck=1, | | MaintenanceModeTypeDisableIsAliveCheck=1, |
| MaintenanceModeTypeOfflineResource=2, | | MaintenanceModeTypeOfflineResource=2, |
| MaintenanceModeTypeUnclusterResource=3, | | MaintenanceModeTypeUnclusterResource=3, |
| } MAINTENANCE_MODE_TYPE_ENUM, *PMAINTENANCE_MODE_TYPE_ENUM; | | } MAINTENANCE_MODE_TYPE_ENUM, *PMAINTENANCE_MODE_TYPE_ENUM; |
| | |
| typedef struct _CLUS_MAINTENANCE_MODE_INFOEX { | | typedef struct _CLUS_MAINTENANCE_MODE_INFOEX { |
| BOOL InMaintenance; | | BOOL InMaintenance; |
| | |
| skipping to change at line 2907 | | skipping to change at line 3445 |
| | |
| // | | // |
| // values for IP Address' EnableNetbios property | | // values for IP Address' EnableNetbios property |
| // | | // |
| typedef enum CLUSPROP_IPADDR_ENABLENETBIOS { | | typedef enum CLUSPROP_IPADDR_ENABLENETBIOS { |
| CLUSPROP_IPADDR_ENABLENETBIOS_DISABLED = 0, | | CLUSPROP_IPADDR_ENABLENETBIOS_DISABLED = 0, |
| CLUSPROP_IPADDR_ENABLENETBIOS_ENABLED, | | CLUSPROP_IPADDR_ENABLENETBIOS_ENABLED, |
| CLUSPROP_IPADDR_ENABLENETBIOS_TRACK_NIC | | CLUSPROP_IPADDR_ENABLENETBIOS_TRACK_NIC |
| } CLUSPROP_IPADDR_ENABLENETBIOS; | | } CLUSPROP_IPADDR_ENABLENETBIOS; |
| | |
|
| | // |
| | // List of change notifications for File Server resource. |
| | // |
| | typedef enum _FILESHARE_CHANGE_ENUM { |
| | FILESHARE_CHANGE_NONE, |
| | FILESHARE_CHANGE_ADD, |
| | FILESHARE_CHANGE_DEL, |
| | FILESHARE_CHANGE_MODIFY |
| | } FILESHARE_CHANGE_ENUM, *PFILESHARE_CHANGE_ENUM; |
| | |
| | // Copied from Lmcons.h |
| | #define NNLEN 80 // Net name length (share name) |
| | typedef struct _FILESHARE_CHANGE { |
| | FILESHARE_CHANGE_ENUM Change; |
| | WCHAR ShareName[NNLEN+4]; |
| | } FILESHARE_CHANGE, *PFILESHARE_CHANGE; |
| | |
| | #pragma warning(push) |
| | #pragma warning(disable: 4200) |
| | typedef struct _FILESHARE_CHANGE_LIST { |
| | DWORD NumEntries; |
| | FILESHARE_CHANGE ChangeEntry[0]; |
| | } FILESHARE_CHANGE_LIST, *PFILESHARE_CHANGE_LIST; |
| | #pragma warning(pop) |
| | |
| // 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 2976 | | skipping to change at line 3539 |
| #ifndef _CLUSTER_API_TYPES_ | | #ifndef _CLUSTER_API_TYPES_ |
| // | | // |
| // Define enumerable types | | // Define enumerable types |
| // | | // |
| typedef enum CLUSTER_RESOURCE_ENUM { | | typedef enum CLUSTER_RESOURCE_ENUM { |
| CLUSTER_RESOURCE_ENUM_DEPENDS = 0x00000001, | | CLUSTER_RESOURCE_ENUM_DEPENDS = 0x00000001, |
| CLUSTER_RESOURCE_ENUM_PROVIDES = 0x00000002, | | CLUSTER_RESOURCE_ENUM_PROVIDES = 0x00000002, |
| CLUSTER_RESOURCE_ENUM_NODES = 0x00000004, | | CLUSTER_RESOURCE_ENUM_NODES = 0x00000004, |
| | |
| CLUSTER_RESOURCE_ENUM_ALL = (CLUSTER_RESOURCE_ENUM_DEPENDS | | | CLUSTER_RESOURCE_ENUM_ALL = (CLUSTER_RESOURCE_ENUM_DEPENDS | |
|
| CLUSTER_RESOURCE_ENUM_PROVIDES | | | CLUSTER_RESOURCE_ENUM_PROVIDES | |
| CLUSTER_RESOURCE_ENUM_NODES) | | CLUSTER_RESOURCE_ENUM_NODES) |
| } CLUSTER_RESOURCE_ENUM; | | } CLUSTER_RESOURCE_ENUM; |
| | |
| typedef enum CLUSTER_RESOURCE_TYPE_ENUM { | | typedef enum CLUSTER_RESOURCE_TYPE_ENUM { |
|
| CLUSTER_RESOURCE_TYPE_ENUM_NODES = 0x00000001, | | CLUSTER_RESOURCE_TYPE_ENUM_NODES = 0x00000001, |
| | CLUSTER_RESOURCE_TYPE_ENUM_RESOURCES = 0x00000002, |
| | |
|
| CLUSTER_RESOURCE_TYPE_ENUM_ALL = (CLUSTER_RESOURCE_TYPE_ENUM_NODES) | | CLUSTER_RESOURCE_TYPE_ENUM_ALL = (CLUSTER_RESOURCE_TYPE_ENUM_NODES | |
| | CLUSTER_RESOURCE_TYPE_ENUM_RESOURCES |
| | ) |
| } CLUSTER_RESOURCE_TYPE_ENUM; | | } CLUSTER_RESOURCE_TYPE_ENUM; |
| | |
| #endif // _CLUSTER_API_TYPES_ | | #endif // _CLUSTER_API_TYPES_ |
| | |
| #if ( !MIDL_PASS && !__midl ) | | #if ( !MIDL_PASS && !__midl ) |
| HRESENUM | | HRESENUM |
| WINAPI | | WINAPI |
| ClusterResourceOpenEnum( | | ClusterResourceOpenEnum( |
| __in HRESOURCE hResource, | | __in HRESOURCE hResource, |
| __in DWORD dwType | | __in DWORD dwType |
| | |
| skipping to change at line 3187 | | skipping to change at line 3752 |
| __in HCLUSTER hCluster, | | __in HCLUSTER hCluster, |
| __in LPCWSTR lpszNetworkName | | __in LPCWSTR lpszNetworkName |
| ); | | ); |
| | |
| typedef HNETWORK | | typedef HNETWORK |
| (WINAPI * PCLUSAPI_OPEN_CLUSTER_NETWORK)( | | (WINAPI * PCLUSAPI_OPEN_CLUSTER_NETWORK)( |
| __in HCLUSTER hCluster, | | __in HCLUSTER hCluster, |
| __in LPCWSTR lpszNetworkName | | __in LPCWSTR lpszNetworkName |
| ); | | ); |
| | |
|
| | #if (CLUSAPI_VERSION >= CLUSAPI_VERSION_SERVER2008R2) |
| | HNETWORK |
| | WINAPI |
| | OpenClusterNetworkEx( |
| | __in HCLUSTER hCluster, |
| | __in_opt LPCWSTR lpszNetworkName, |
| | __in DWORD dwDesiredAccess, |
| | __out_opt DWORD* lpdwGrantedAccess |
| | ); |
| | |
| | typedef HNETWORK |
| | (WINAPI * PCLUSAPI_OPEN_CLUSTER_NETWORK_EX)( |
| | __in HCLUSTER hCluster, |
| | __in_opt LPCWSTR lpszNetworkName, |
| | __in DWORD dwDesiredAccess, |
| | __out_opt LPDWORD lpdwGrantedAccess |
| | ); |
| | #endif |
| | |
| BOOL | | BOOL |
| WINAPI | | WINAPI |
| CloseClusterNetwork( | | CloseClusterNetwork( |
| __in HNETWORK hNetwork | | __in HNETWORK hNetwork |
| ); | | ); |
| | |
| typedef BOOL | | typedef BOOL |
| (WINAPI * PCLUSAPI_CLOSE_CLUSTER_NETWORK)( | | (WINAPI * PCLUSAPI_CLOSE_CLUSTER_NETWORK)( |
| __in HNETWORK hNetwork | | __in HNETWORK hNetwork |
| ); | | ); |
| | |
| skipping to change at line 3363 | | skipping to change at line 3947 |
| __in HCLUSTER hCluster, | | __in HCLUSTER hCluster, |
| __in LPCWSTR lpszInterfaceName | | __in LPCWSTR lpszInterfaceName |
| ); | | ); |
| | |
| typedef HNETINTERFACE | | typedef HNETINTERFACE |
| (WINAPI * PCLUSAPI_OPEN_CLUSTER_NET_INTERFACE)( | | (WINAPI * PCLUSAPI_OPEN_CLUSTER_NET_INTERFACE)( |
| __in HCLUSTER hCluster, | | __in HCLUSTER hCluster, |
| __in LPCWSTR lpszInterfaceName | | __in LPCWSTR lpszInterfaceName |
| ); | | ); |
| | |
|
| | #if (CLUSAPI_VERSION >= CLUSAPI_VERSION_SERVER2008R2) |
| | HNETINTERFACE |
| | WINAPI |
| | OpenClusterNetInterfaceEx( |
| | __in HCLUSTER hCluster, |
| | __in_opt LPCWSTR lpszInterfaceName, |
| | __in DWORD dwDesiredAccess, |
| | __out_opt DWORD* lpdwGrantedAccess |
| | ); |
| | |
| | typedef HNETINTERFACE |
| | (WINAPI * PCLUSAPI_OPEN_CLUSTER_NETINTERFACE_EX)( |
| | __in HCLUSTER hCluster, |
| | __in_opt LPCWSTR lpszNetInterfaceName, |
| | __in DWORD dwDesiredAccess, |
| | __out_opt LPDWORD lpdwGrantedAccess |
| | ); |
| | #endif |
| | |
| __success(return == ERROR_SUCCESS) | | __success(return == ERROR_SUCCESS) |
| DWORD | | DWORD |
| WINAPI | | WINAPI |
| GetClusterNetInterface( | | GetClusterNetInterface( |
| __in HCLUSTER hCluster, | | __in HCLUSTER hCluster, |
| __in LPCWSTR lpszNodeName, | | __in LPCWSTR lpszNodeName, |
| __in LPCWSTR lpszNetworkName, | | __in LPCWSTR lpszNetworkName, |
| __out_ecount_part(*lpcchInterfaceName, *lpcchInterfaceName + 1) LPWSTR lpszI
nterfaceName, | | __out_ecount_part(*lpcchInterfaceName, *lpcchInterfaceName + 1) LPWSTR lpszI
nterfaceName, |
| __inout LPDWORD lpcchInterfaceName | | __inout LPDWORD lpcchInterfaceName |
| ); | | ); |
| | |
| skipping to change at line 3752 | | skipping to change at line 4355 |
| __in_opt HKEY hKey, | | __in_opt HKEY hKey, |
| __out HREGBATCH* pHREGBATCH | | __out HREGBATCH* pHREGBATCH |
| ); | | ); |
| | |
| typedef LONG | | typedef LONG |
| (WINAPI *PCLUSAPI_CLUSTER_REG_CREATE_BATCH)( | | (WINAPI *PCLUSAPI_CLUSTER_REG_CREATE_BATCH)( |
| __in_opt HKEY hKey, | | __in_opt HKEY hKey, |
| __out HREGBATCH* pHREGBATCH | | __out HREGBATCH* pHREGBATCH |
| ); | | ); |
| | |
|
| LONG WINAPI ClusterRegAddCommand( | | LONG WINAPI ClusterRegBatchAddCommand( |
| __in HREGBATCH HREGBATCH, | | __in HREGBATCH hRegBatch, |
| __in CLUSTER_REG_COMMAND dwCommand, | | __in CLUSTER_REG_COMMAND dwCommand, |
| __in_opt LPCWSTR wzName, | | __in_opt LPCWSTR wzName, |
| __in DWORD dwOptions, | | __in DWORD dwOptions, |
|
| __in VOID CONST * lpData, | | __in_bcount_opt(cbData) VOID CONST * lpData, |
| __in DWORD cbData | | __in DWORD cbData |
| ); | | ); |
| | |
| typedef LONG | | typedef LONG |
|
| (WINAPI *PCLUSTER_REG_ADD_COMMAND)( | | (WINAPI *PCLUSTER_REG_BATCH_ADD_COMMAND)( |
| __in HREGBATCH HREGBATCH, | | __in HREGBATCH hRegBatch, |
| __in CLUSTER_REG_COMMAND dwCommand, | | __in CLUSTER_REG_COMMAND dwCommand, |
|
| __in DWORD dwOptions, | | |
| __in_opt LPWSTR wzName, | | __in_opt LPWSTR wzName, |
|
| __in VOID CONST * lpData, | | __in DWORD dwOptions, |
| | __in_bcount_opt(cbData) VOID CONST * lpData, |
| __in DWORD cbData | | __in DWORD cbData |
| ); | | ); |
| | |
| LONG WINAPI ClusterRegCloseBatch( | | LONG WINAPI ClusterRegCloseBatch( |
|
| __in HREGBATCH HREGBATCH, | | __in HREGBATCH hRegBatch, |
| __in BOOL bCommit, | | __in BOOL bCommit, |
| __out_opt INT * failedCommandNumber | | __out_opt INT * failedCommandNumber |
| ); | | ); |
| | |
| typedef LONG | | typedef LONG |
| (WINAPI *PCLUSTER_REG_CLOSE_BATCH)( | | (WINAPI *PCLUSTER_REG_CLOSE_BATCH)( |
|
| __in HREGBATCH HREGBATCH, | | __in HREGBATCH hRegBatch, |
| __in BOOL bCommit, | | __in BOOL bCommit, |
| __out_opt INT * failedCommandNumber | | __out_opt INT * failedCommandNumber |
| ); | | ); |
| | |
|
| | LONG WINAPI ClusterRegBatchReadCommand( |
| | __in HREGBATCHNOTIFICATION hBatchNotification, |
| | __out CLUSTER_BATCH_COMMAND * pBatchCommand); |
| | |
| | typedef LONG |
| | (WINAPI *PCLUSTER_REG_BATCH_READ_COMMAND)( |
| | __in HREGBATCHNOTIFICATION hBatchNotification, |
| | __out CLUSTER_BATCH_COMMAND * pBatchCommand); |
| | |
| | LONG WINAPI ClusterRegBatchCloseNotification( |
| | __in HREGBATCHNOTIFICATION hBatchNotification); |
| | |
| | typedef LONG |
| | (WINAPI *PCLUSTER_REG_BATCH_CLOSE_NOTIFICATION)( |
| | __in HREGBATCHNOTIFICATION hBatchNotification); |
| | |
| | LONG WINAPI ClusterRegCreateBatchNotifyPort( |
| | __in HKEY hKey, |
| | __out HREGBATCHPORT * phBatchNotifyPort); |
| | |
| | typedef LONG |
| | (WINAPI *PCLUSTER_REG_CREATE_BATCH_NOTIFY_PORT)( |
| | __in HKEY hKey, |
| | __out HREGBATCHPORT * phBatchNotifyPort); |
| | |
| | LONG WINAPI ClusterRegCloseBatchNotifyPort( |
| | __in HREGBATCHPORT hBatchNotifyPort); |
| | |
| | typedef LONG |
| | (WINAPI *PCLUSTER_REG_CLOSE_BATCH_NOTIFY_PORT)( |
| | __in HREGBATCHPORT hBatchNotifyPort); |
| | |
| | LONG WINAPI ClusterRegGetBatchNotification( |
| | __in HREGBATCHPORT hBatchNotify, |
| | __out HREGBATCHNOTIFICATION * phBatchNotification); |
| | |
| | typedef LONG |
| | (WINAPI *PCLUSTER_REG_GET_BATCH_NOTIFICATION)( |
| | __in HREGBATCHPORT hBatchNotify, |
| | __out HREGBATCHNOTIFICATION * phBatchNotification); |
| | |
| // | | // |
|
| // Cluster Create, Add Node and Destroy Cluster | | // Cluster Create, Add Node and Destroy Cluster APIs |
| // | | // |
| | |
| // | | // |
|
| // Phases that changes in cluster persistent membership will go 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_MEMBERSHIP_CHANGE_PHASE { | | typedef enum _CLUSTER_SETUP_PHASE { |
| | |
|
| MembershipChangePhaseValidateNodeState = 1, | | ClusterSetupPhaseInitialize = 1, |
| MembershipChangePhaseNodeInitialize = 3, | | |
| MembershipChangePhaseValidateNetft = 4, | | |
| MembershipChangePhaseValidateClusDisk = 5, | | |
| MembershipChangePhaseConfigureClusSvc = 6, | | |
| MembershipChangePhaseStartingClusSvc = 7, | | |
| MembershipChangePhaseInitialize = 8, | | |
| MembershipChangePhaseWaitForServiceStart = 9, | | |
| MembershipChangePhaseNodeUp = 10, | | |
| MembershipChangePhaseAddClusterProperties = 11, | | |
| MembershipChangePhaseCreateResourceTypes = 12, | | |
| MembershipChangePhaseCreateClusterGroup = 13, | | |
| MembershipChangePhaseCreateQuorumResource = 14, | | |
| MembershipChangePhaseCreateIPAddressResources = 15, | | |
| MembershipChangePhaseCreateNetworkName = 16, | | |
| MembershipChangePhaseClusterGroupOnline = 17, | | |
| MembershipChangePhaseGettingCurrentMembership = 18, | | |
| MembershipChangePhaseAddNodeToCluster = 19, | | |
| MembershipChangePhaseOfflineGroup = 20, | | |
| MembershipChangePhaseEvictNode = 21, | | |
| MembershipChangePhaseFailureCleanup = 22 | | |
| | |
|
| } CLUSTER_MEMBERSHIP_CHANGE_PHASE; | | ClusterSetupPhaseValidateNodeState = 100, |
| | ClusterSetupPhaseValidateNetft = 102, |
| | ClusterSetupPhaseValidateClusDisk = 103, |
| | ClusterSetupPhaseConfigureClusSvc = 104, |
| | ClusterSetupPhaseStartingClusSvc = 105, |
| | |
| | ClusterSetupPhaseQueryClusterNameAccount = 106, |
| | ClusterSetupPhaseValidateClusterNameAccount = 107, |
| | ClusterSetupPhaseCreateClusterAccount = 108, |
| | ClusterSetupPhaseConfigureClusterAccount = 109, |
| | |
| | ClusterSetupPhaseFormingCluster = 200, |
| | ClusterSetupPhaseAddClusterProperties = 201, |
| | ClusterSetupPhaseCreateResourceTypes = 202, |
| | ClusterSetupPhaseCreateGroups = 203, |
| | ClusterSetupPhaseCreateIPAddressResources = 204, |
| | ClusterSetupPhaseCreateNetworkName = 205, |
| | ClusterSetupPhaseClusterGroupOnline = 206, |
| | |
| | ClusterSetupPhaseGettingCurrentMembership = 300, |
| | ClusterSetupPhaseAddNodeToCluster = 301, |
| | ClusterSetupPhaseNodeUp = 302, |
| | |
| | ClusterSetupPhaseMoveGroup = 400, |
| | ClusterSetupPhaseDeleteGroup = 401, |
| | ClusterSetupPhaseCleanupCOs = 402, |
| | ClusterSetupPhaseOfflineGroup = 403, |
| | ClusterSetupPhaseEvictNode = 404, |
| | ClusterSetupPhaseCleanupNode = 405, |
| | ClusterSetupPhaseCoreGroupCleanup = 406, |
| | |
| | ClusterSetupPhaseFailureCleanup = 999 |
| | |
| | } CLUSTER_SETUP_PHASE; |
| | |
| | // |
| | // used to delineate between phases |
| | // |
| | typedef enum _CLUSTER_SETUP_PHASE_TYPE { |
| | |
| | ClusterSetupPhaseStart = 1, |
| | ClusterSetupPhaseContinue = 2, |
| | ClusterSetupPhaseEnd = 3 |
| | |
| | } CLUSTER_SETUP_PHASE_TYPE; |
| | |
| | typedef enum _CLUSTER_SETUP_PHASE_SEVERITY { |
| | |
| | ClusterSetupPhaseInformational = 1, |
| | ClusterSetupPhaseWarning = 2, |
| | ClusterSetupPhaseFatal = 3 |
| | |
| | } CLUSTER_SETUP_PHASE_SEVERITY; |
| | |
| typedef BOOL | | typedef BOOL |
|
| (WINAPI *PCLUSTER_MEMBERSHIP_CHANGE_PROGRESS)( | | (WINAPI *PCLUSTER_SETUP_PROGRESS_CALLBACK)( |
| PVOID pvCallbackArg, | | PVOID pvCallbackArg, |
|
| CLUSTER_MEMBERSHIP_CHANGE_PHASE eMembershipPhase, | | CLUSTER_SETUP_PHASE eSetupPhase, |
| | CLUSTER_SETUP_PHASE_TYPE ePhaseType, |
| | CLUSTER_SETUP_PHASE_SEVERITY ePhaseSeverity, |
| DWORD dwPercentComplete, | | DWORD dwPercentComplete, |
|
| __in PCWSTR lpszObjectName, | | __in_opt PCWSTR lpszObjectName, |
| DWORD dwStatus ); | | DWORD dwStatus ); |
| | |
| HCLUSTER | | HCLUSTER |
| WINAPI | | WINAPI |
| CreateCluster( | | CreateCluster( |
| __in PCREATE_CLUSTER_CONFIG pConfig, | | __in PCREATE_CLUSTER_CONFIG pConfig, |
|
| __in BOOL fAcceptPartialFailure, | | __in_opt PCLUSTER_SETUP_PROGRESS_CALLBACK pfnProgressCallback, |
| __in_opt PCLUSTER_MEMBERSHIP_CHANGE_PROGRESS pfnProgressCallback, | | |
| __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 BOOL fAcceptPartialFailure, | | __in_opt PCLUSTER_SETUP_PROGRESS_CALLBACK pfnProgressCallback, |
| __in_opt PCLUSTER_MEMBERSHIP_CHANGE_PROGRESS pfnProgressCallback, | | |
| __in_opt PVOID pvCallbackArg | | __in_opt PVOID pvCallbackArg |
| ); | | ); |
| | |
| HNODE | | HNODE |
| WINAPI | | WINAPI |
| AddClusterNode( | | AddClusterNode( |
| __in HCLUSTER hCluster, | | __in HCLUSTER hCluster, |
| __in PCWSTR lpszNodeName, | | __in PCWSTR lpszNodeName, |
|
| __in_opt PCLUSTER_MEMBERSHIP_CHANGE_PROGRESS pfnProgressCallback, | | __in_opt PCLUSTER_SETUP_PROGRESS_CALLBACK pfnProgressCallback, |
| __in_opt PVOID pvCallbackArg | | __in_opt PVOID pvCallbackArg |
| ); | | ); |
| | |
| typedef HNODE | | typedef HNODE |
| (WINAPI * PCLUSAPI_ADD_CLUSTER_NODE)( | | (WINAPI * PCLUSAPI_ADD_CLUSTER_NODE)( |
| __in HCLUSTER hCluster, | | __in HCLUSTER hCluster, |
| __in PCWSTR lpszNodeName, | | __in PCWSTR lpszNodeName, |
|
| __in_opt PCLUSTER_MEMBERSHIP_CHANGE_PROGRESS pfnProgressCallback, | | __in_opt PCLUSTER_SETUP_PROGRESS_CALLBACK pfnProgressCallback, |
| __in_opt PVOID pvCallbackArg | | __in_opt PVOID pvCallbackArg |
| ); | | ); |
| | |
| DWORD | | DWORD |
| WINAPI | | WINAPI |
| DestroyCluster( | | DestroyCluster( |
| __in HCLUSTER hCluster, | | __in HCLUSTER hCluster, |
|
| __in_opt PCLUSTER_MEMBERSHIP_CHANGE_PROGRESS pfnProgressCallback, | | __in_opt PCLUSTER_SETUP_PROGRESS_CALLBACK pfnProgressCallback, |
| __in_opt PVOID pvCallbackArg | | __in_opt PVOID pvCallbackArg, |
| | __in BOOL fdeleteVirtualComputerObjects |
| ); | | ); |
| | |
| typedef DWORD | | typedef DWORD |
| (WINAPI * PCLUSAPI_DESTROY_CLUSTER)( | | (WINAPI * PCLUSAPI_DESTROY_CLUSTER)( |
| __in HCLUSTER hCluster, | | __in HCLUSTER hCluster, |
|
| __in_opt PCLUSTER_MEMBERSHIP_CHANGE_PROGRESS pfnProgressCallback, | | __in_opt PCLUSTER_SETUP_PROGRESS_CALLBACK pfnProgressCallback, |
| __in_opt PVOID pvCallbackArg | | __in_opt PVOID pvCallbackArg, |
| | __in BOOL fdeleteVirtualComputerObjects |
| ); | | ); |
| | |
| // | | // |
| // Standard Resource Type Names | | // Standard Resource Type Names |
| // | | // |
| | |
| #define CLUS_RESTYPE_NAME_GENAPP L"Generic Application" | | #define CLUS_RESTYPE_NAME_GENAPP L"Generic Application" |
| #define CLUS_RESTYPE_NAME_GENSVC L"Generic Service" | | #define CLUS_RESTYPE_NAME_GENSVC L"Generic Service" |
| #define CLUS_RESTYPE_NAME_GENSCRIPT L"Generic Script" | | #define CLUS_RESTYPE_NAME_GENSCRIPT L"Generic Script" |
| #define CLUS_RESTYPE_NAME_IPADDR L"IP Address" | | #define CLUS_RESTYPE_NAME_IPADDR L"IP Address" |
| #define CLUS_RESTYPE_NAME_NETNAME L"Network Name" | | #define CLUS_RESTYPE_NAME_NETNAME L"Network Name" |
| #define CLUS_RESTYPE_NAME_FILESHR L"File Share" | | #define CLUS_RESTYPE_NAME_FILESHR L"File Share" |
| #define CLUS_RESTYPE_NAME_PRTSPLR L"Print Spooler" | | #define CLUS_RESTYPE_NAME_PRTSPLR L"Print Spooler" |
|
| #define CLUS_RESTYPE_NAME_LKQUORUM L"Local Quorum" | | |
| #define CLUS_RESTYPE_NAME_IPV6_NATIVE L"IPv6 Address" | | #define CLUS_RESTYPE_NAME_IPV6_NATIVE L"IPv6 Address" |
| #define CLUS_RESTYPE_NAME_IPV6_TUNNEL L"IPv6 Tunnel Address" | | #define CLUS_RESTYPE_NAME_IPV6_TUNNEL L"IPv6 Tunnel Address" |
|
| | | |
| #define CLUS_RESTYPE_NAME_VSSTASK L"Volume Shadow Copy Service Task" | | #define CLUS_RESTYPE_NAME_VSSTASK L"Volume Shadow Copy Service Task" |
|
| | | |
| #define CLUS_RESTYPE_NAME_WINS L"WINS Service" | | #define CLUS_RESTYPE_NAME_WINS L"WINS Service" |
| #define CLUS_RESTYPE_NAME_DHCP L"DHCP Service" | | #define CLUS_RESTYPE_NAME_DHCP L"DHCP Service" |
|
| | | |
| #define CLUS_RESTYPE_NAME_MSMQ L"Microsoft Message Queue Server" | | #define CLUS_RESTYPE_NAME_MSMQ L"Microsoft Message Queue Server" |
| #define CLUS_RESTYPE_NAME_NEW_MSMQ L"MSMQ" | | #define CLUS_RESTYPE_NAME_NEW_MSMQ L"MSMQ" |
| #define CLUS_RESTYPE_NAME_MSMQ_TRIGGER L"MSMQTriggers" | | #define CLUS_RESTYPE_NAME_MSMQ_TRIGGER L"MSMQTriggers" |
|
| | | |
| #define CLUS_RESTYPE_NAME_MSDTC L"Distributed Transaction Coordinato
r" | | #define CLUS_RESTYPE_NAME_MSDTC L"Distributed Transaction Coordinato
r" |
|
| | | |
| #define CLUS_RESTYPE_NAME_NFS L"NFS Share" | | #define CLUS_RESTYPE_NAME_NFS L"NFS Share" |
|
| | | |
| #define CLUS_RESTYPE_NAME_ISNS L"Microsoft iSNS" | | #define CLUS_RESTYPE_NAME_ISNS L"Microsoft iSNS" |
|
| | | |
| #define CLUS_RESTYPE_NAME_HARDDISK L"Physical Disk" | | #define CLUS_RESTYPE_NAME_HARDDISK L"Physical Disk" |
| #define CLUS_RESTYPE_NAME_PHYS_DISK CLUS_RESTYPE_NAME_HARDDISK | | #define CLUS_RESTYPE_NAME_PHYS_DISK CLUS_RESTYPE_NAME_HARDDISK |
|
| | #define CLUS_RESTYPE_NAME_FSWITNESS L"File Share Witness" |
| | #define CLUS_RESTYPE_NAME_FILESERVER L"File Server" |
| | #define CLUS_RESTYPE_NAME_DFS L"Distributed File System" |
| | #define CLUS_RESTYPE_NAME_DFSR L"DFS Replicated Folder" |
| | #define CLUS_RESTYPE_NAME_VM L"Virtual Machine" |
| | #define CLUS_RESTYPE_NAME_VM_CONFIG L"Virtual Machine Configuration" |
| | |
| // | | // |
| // Cluster common property names | | // Cluster common property names |
| // | | // |
|
| #define CLUSREG_NAME_ADMIN_EXT L"AdminExtensions" | | |
| #define CLUSREG_NAME_CLUS_DESC L"Description" | | |
| #define CLUSREG_NAME_CLUS_SD L"Security Descriptor" | | |
| | |
|
| | #define CLUSREG_NAME_CLUS_DESC L"Description" |
| | #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 CLUSREG_NAME_QUORUM_ARBITRATION_EQUALIZER L"QuorumArbitrationTimeMin" | | #define CLUSTER_HANG_TIMEOUT_KEYNAME L"ClusSvcHangTimeout" |
| #define CLUSTER_HEARTBEAT_TIMEOUT_KEYNAME L"ClusSvcHeartbeatTimeout" | | |
| #define CLUSTER_HANG_RECOVERY_ACTION_KEYNAME L"HangRecoveryAction" | | #define CLUSTER_HANG_RECOVERY_ACTION_KEYNAME L"HangRecoveryAction" |
| #define CLUSTER_CSA_VSS_STATE L"BackupInProgress" | | #define CLUSTER_CSA_VSS_STATE L"BackupInProgress" |
|
| | | #define CLUSTER_REQUEST_REPLY_TIMEOUT L"RequestReplyTimeout" |
| #define CLUSREG_NAME_DISABLE_GROUP_PREFERRED_OWNER_RANDOMIZATION L"DisableGro | | #define CLUSTER_WITNESS_FAILED_RESTART_INTERVAL L"WitnessRestartInterval" |
| upPreferredOwnerRandomization" | | #define CLUSTER_WITNESS_DATABASE_WRITE_TIMEOUT L"WitnessDatabaseWriteTimeout" |
| | #define CLUSTER_ADD_EVICT_DELAY L"AddEvictDelay" |
| | #define CLUSREG_NAME_FIXQUORUM L"FixQuorum" |
| | #define CLUSREG_NAME_IGNORE_PERSISTENT_STATE L"IgnorePersistentStateOnStart |
| | up" |
| | #define CLUSTER_SHARED_VOLUMES_ROOT L"SharedVolumesRoot" |
| | #define ENABLE_CLUSTER_SHARED_VOLUMES L"EnableSharedVolumes" |
| | #define CLUSTER_CSV_COMPATIBLE_FILTERS L"SharedVolumeCompatibleFilter |
| | s" |
| | #define CLUSTER_CSV_INCOMPATIBLE_FILTERS L"SharedVolumeIncompatibleFilt |
| | ers" |
| | #define CLUSTER_GROUP_WAIT_DELAY L"ClusterGroupWaitDelay" |
| | #define CLUSREG_NAME_SHUTDOWN_TIMEOUT_MINUTES L"ShutdownTimeoutInMinutes" |
| | |
| // | | // |
| // 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_CROSS_SUBNET_DELAY L"CrossSubnetDelay" | | #define CLUSREG_NAME_SAME_SUBNET_DELAY L"SameSubnetDelay" |
| #define CLUSREG_NAME_SAME_SUBNET_THRESHOLD L"SameSubnetThreshold" | | #define CLUSREG_NAME_CROSS_SUBNET_DELAY L"CrossSubnetDelay" |
| #define CLUSREG_NAME_CROSS_SUBNET_THRESHOLD L"CrossSubnetThreshold" | | #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" |
| | |
| // | | // |
| // 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" |
| | |
| skipping to change at line 3958 | | skipping to change at line 4644 |
| // | | // |
| | |
| #define CLUSREG_NAME_GRP_NAME L"Name" | | #define CLUSREG_NAME_GRP_NAME L"Name" |
| #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_DEFAULT_OWNER L"DefaultOwner" |
| | |
| #define CLUSREG_NAME_GRP_ANTI_AFFINITY_CLASS_NAME L"AntiAffinityClassNames" | | #define CLUSREG_NAME_GRP_ANTI_AFFINITY_CLASS_NAME L"AntiAffinityClassNames" |
| | |
| // | | // |
| // 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" |
| #define CLUSREG_NAME_RES_LOOKS_ALIVE L"LooksAlivePollInterval" | | #define CLUSREG_NAME_RES_LOOKS_ALIVE L"LooksAlivePollInterval" |
| #define CLUSREG_NAME_RES_IS_ALIVE L"IsAlivePollInterval" | | #define CLUSREG_NAME_RES_IS_ALIVE L"IsAlivePollInterval" |
| #define CLUSREG_NAME_RES_RESTART_ACTION L"RestartAction" | | #define CLUSREG_NAME_RES_RESTART_ACTION L"RestartAction" |
| #define CLUSREG_NAME_RES_RESTART_THRESHOLD L"RestartThreshold" | | #define CLUSREG_NAME_RES_RESTART_THRESHOLD L"RestartThreshold" |
| #define CLUSREG_NAME_RES_RESTART_PERIOD L"RestartPeriod" | | #define CLUSREG_NAME_RES_RESTART_PERIOD L"RestartPeriod" |
|
| | #define CLUSREG_NAME_RES_RESTART_DELAY L"RestartDelay" |
| #define CLUSREG_NAME_RES_RETRY_PERIOD_ON_FAILURE L"RetryPeriodOnFailure" | | #define CLUSREG_NAME_RES_RETRY_PERIOD_ON_FAILURE L"RetryPeriodOnFailure" |
| #define CLUSREG_NAME_RES_PENDING_TIMEOUT L"PendingTimeout" | | #define CLUSREG_NAME_RES_PENDING_TIMEOUT L"PendingTimeout" |
| #define CLUSREG_NAME_RES_DEADLOCK_TIMEOUT L"DeadlockTimeout" | | #define CLUSREG_NAME_RES_DEADLOCK_TIMEOUT L"DeadlockTimeout" |
| #define CLUSREG_NAME_RES_MONITOR_PID L"MonitorProcessId" | | #define CLUSREG_NAME_RES_MONITOR_PID L"MonitorProcessId" |
|
| #define CLUSREG_NAME_RES_INTERNAL_STATE L"InternalState" | | #define CLUSREG_NAME_RES_STATUS L"ResourceSpecificStatus" |
| | |
| // | | // |
| // Resource Type common property names | | // Resource Type common property names |
| // | | // |
| | |
| #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 |
| | |
| skipping to change at line 4007 | | skipping to change at line 4696 |
| | |
| #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" |
| #define CLUSREG_NAME_NET_ADDRESS L"Address" | | #define CLUSREG_NAME_NET_ADDRESS L"Address" |
| #define CLUSREG_NAME_NET_ADDRESS_MASK L"AddressMask" | | #define CLUSREG_NAME_NET_ADDRESS_MASK L"AddressMask" |
| #define CLUSREG_NAME_NET_DESC L"Description" | | #define CLUSREG_NAME_NET_DESC L"Description" |
| #define CLUSREG_NAME_NET_ROLE L"Role" | | #define CLUSREG_NAME_NET_ROLE L"Role" |
|
| | #define CLUSREG_NAME_NET_METRIC L"Metric" |
| | #define CLUSREG_NAME_NET_AUTOMETRIC L"AutoMetric" |
| | |
| // | | // |
| // Network Interface common property names | | // Network Interface common property names |
| // | | // |
| | |
| #define CLUSREG_NAME_NETIFACE_NAME L"Name" | | #define CLUSREG_NAME_NETIFACE_NAME L"Name" |
| #define CLUSREG_NAME_NETIFACE_NODE L"Node" | | #define CLUSREG_NAME_NETIFACE_NODE L"Node" |
| #define CLUSREG_NAME_NETIFACE_NETWORK L"Network" | | #define CLUSREG_NAME_NETIFACE_NETWORK L"Network" |
| #define CLUSREG_NAME_NETIFACE_ADAPTER_NAME L"Adapter" | | #define CLUSREG_NAME_NETIFACE_ADAPTER_NAME L"Adapter" |
| #define CLUSREG_NAME_NETIFACE_ADAPTER_ID L"AdapterId" | | #define CLUSREG_NAME_NETIFACE_ADAPTER_ID L"AdapterId" |
| | |
| skipping to change at line 4041 | | skipping to change at line 4732 |
| #define CLUSREG_NAME_PHYSDISK_DISKIDTYPE L"DiskIdType" | | #define CLUSREG_NAME_PHYSDISK_DISKIDTYPE L"DiskIdType" |
| #define CLUSREG_NAME_PHYSDISK_DISKSIGNATURE L"DiskSignature" | | #define CLUSREG_NAME_PHYSDISK_DISKSIGNATURE L"DiskSignature" |
| #define CLUSREG_NAME_PHYSDISK_DISKIDGUID L"DiskIdGuid" | | #define CLUSREG_NAME_PHYSDISK_DISKIDGUID L"DiskIdGuid" |
| #define CLUSREG_NAME_PHYSDISK_DISKRUNCHKDSK L"DiskRunChkDsk" | | #define CLUSREG_NAME_PHYSDISK_DISKRUNCHKDSK L"DiskRunChkDsk" |
| #define CLUSREG_NAME_PHYSDISK_DISKUNIQUEIDS L"DiskUniqueIds" | | #define CLUSREG_NAME_PHYSDISK_DISKUNIQUEIDS L"DiskUniqueIds" |
| #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"MainteanceMode" | | #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_PNPUPDATE L"DiskPnpUpdate" |
| | |
| // | | // |
| // Generic Application | | // Generic Application |
| // | | // |
| | |
| #define CLUSREG_NAME_GENAPP_COMMAND_LINE L"CommandLine" | | #define CLUSREG_NAME_GENAPP_COMMAND_LINE L"CommandLine" |
| #define CLUSREG_NAME_GENAPP_CURRENT_DIRECTORY L"CurrentDirectory" | | #define CLUSREG_NAME_GENAPP_CURRENT_DIRECTORY L"CurrentDirectory" |
|
| #define CLUSREG_NAME_GENAPP_INTERACT_WITH_DESKTOP L"InteractWithDesktop" | | |
| #define CLUSREG_NAME_GENAPP_USE_NETWORK_NAME L"UseNetworkName" | | #define CLUSREG_NAME_GENAPP_USE_NETWORK_NAME L"UseNetworkName" |
| | |
| // | | // |
| // Generic Script | | // Generic Script |
| // | | // |
| | |
| #define CLUSREG_NAME_GENSCRIPT_SCRIPT_FILEPATH L"ScriptFilepath" | | #define CLUSREG_NAME_GENSCRIPT_SCRIPT_FILEPATH L"ScriptFilepath" |
| | |
| // | | // |
| // Generic Service | | // Generic Service |
| | |
| skipping to change at line 4100 | | skipping to change at line 4792 |
| #define CLUSREG_NAME_IPV6_NATIVE_NETWORK L"Network" | | #define CLUSREG_NAME_IPV6_NATIVE_NETWORK L"Network" |
| #define CLUSREG_NAME_IPV6_NATIVE_ADDRESS L"Address" | | #define CLUSREG_NAME_IPV6_NATIVE_ADDRESS L"Address" |
| #define CLUSREG_NAME_IPV6_NATIVE_PREFIX_LENGTH L"PrefixLength" | | #define CLUSREG_NAME_IPV6_NATIVE_PREFIX_LENGTH L"PrefixLength" |
| | |
| #define CLUSREG_NAME_IPV6_TUNNEL_ADDRESS L"Address" | | #define CLUSREG_NAME_IPV6_TUNNEL_ADDRESS L"Address" |
| #define CLUSREG_NAME_IPV6_TUNNEL_TUNNELTYPE L"TunnelType" | | #define CLUSREG_NAME_IPV6_TUNNEL_TUNNELTYPE L"TunnelType" |
| | |
| // | | // |
| // Network Name | | // Network Name |
| // | | // |
|
| | | |
| #define CLUSREG_NAME_NETNAME_NAME L"Name" | | #define CLUSREG_NAME_NETNAME_NAME L"Name" |
| #define CLUSREG_NAME_NETNAME_CREATING_DC L"CreatingDC" | | #define CLUSREG_NAME_NETNAME_CREATING_DC L"CreatingDC" |
| #define CLUSREG_NAME_NETNAME_OBJECT_ID L"ObjectGUID" | | #define CLUSREG_NAME_NETNAME_OBJECT_ID L"ObjectGUID" |
| #define CLUSREG_NAME_NETNAME_DNS_NAME L"DnsName" | | #define CLUSREG_NAME_NETNAME_DNS_NAME L"DnsName" |
| #define CLUSREG_NAME_NETNAME_REMAP_PIPE_NAMES L"RemapPipeNames" | | #define CLUSREG_NAME_NETNAME_REMAP_PIPE_NAMES L"RemapPipeNames" |
| #define CLUSREG_NAME_NETNAME_RESOURCE_DATA L"ResourceData" | | #define CLUSREG_NAME_NETNAME_RESOURCE_DATA L"ResourceData" |
|
| #define CLUSREG_NAME_NETNAME_REQUIRE_DNS L"RequireDNS" | | |
| #define CLUSREG_NAME_NETNAME_REQUIRE_KERBEROS L"RequireKerberos" | | |
| #define CLUSREG_NAME_NETNAME_SCOPED_NAME L"ScopedName" | | |
| #define CLUSREG_NAME_NETNAME_STATUS_NETBIOS L"StatusNetBIOS" | | #define CLUSREG_NAME_NETNAME_STATUS_NETBIOS L"StatusNetBIOS" |
| #define CLUSREG_NAME_NETNAME_STATUS_DNS L"StatusDNS" | | #define CLUSREG_NAME_NETNAME_STATUS_DNS L"StatusDNS" |
| #define CLUSREG_NAME_NETNAME_STATUS_KERBEROS L"StatusKerberos" | | #define CLUSREG_NAME_NETNAME_STATUS_KERBEROS L"StatusKerberos" |
| #define CLUSREG_NAME_NETNAME_VCO_CONTAINER L"VcoContainer" | | #define CLUSREG_NAME_NETNAME_VCO_CONTAINER L"VcoContainer" |
| #define CLUSREG_NAME_NETNAME_LAST_DNS_UPDATE L"LastDNSUpdateTime" | | #define CLUSREG_NAME_NETNAME_LAST_DNS_UPDATE L"LastDNSUpdateTime" |
| #define CLUSREG_NAME_NETNAME_CONTAINERGUID L"CryptoContainerGUID" | | #define CLUSREG_NAME_NETNAME_CONTAINERGUID L"CryptoContainerGUID" |
| #define CLUSREG_NAME_NETNAME_HOST_TTL L"HostRecordTTL" | | #define CLUSREG_NAME_NETNAME_HOST_TTL L"HostRecordTTL" |
| #define CLUSREG_NAME_NETNAME_PUBLISH_PTR L"PublishPTRRecords" | | #define CLUSREG_NAME_NETNAME_PUBLISH_PTR L"PublishPTRRecords" |
|
| | #define CLUSREG_NAME_NETNAME_REMOVEVCO_ONDELETE L"DeleteVcoOnResCleanup" |
| | #define CLUSREG_NAME_NETNAME_REGISTER_ALL_IP L"RegisterAllProvidersIP" |
| | #define CLUSREG_KEYNAME_OBJECTGUIDS L"ObjectGUIDs" |
| | |
| // | | // |
| // Print Spooler | | // Print Spooler |
| // | | // |
| | |
| #define CLUSREG_NAME_PRTSPOOL_DEFAULT_SPOOL_DIR L"DefaultSpoolDirectory" | | #define CLUSREG_NAME_PRTSPOOL_DEFAULT_SPOOL_DIR L"DefaultSpoolDirectory" |
| #define CLUSREG_NAME_PRTSPOOL_TIMEOUT L"JobCompletionTimeout" | | #define CLUSREG_NAME_PRTSPOOL_TIMEOUT L"JobCompletionTimeout" |
| | |
| // | | // |
| // File Share | | // File Share |
| | |
| skipping to change at line 4156 | | skipping to change at line 4847 |
| #define CLUSREG_NAME_LOG_FILE_PATH L"LogFilePath" | | #define CLUSREG_NAME_LOG_FILE_PATH L"LogFilePath" |
| | |
| // | | // |
| // WINS Service | | // WINS Service |
| // | | // |
| | |
| #define CLUSREG_NAME_WINS_DATABASE_PATH L"DatabasePath" | | #define CLUSREG_NAME_WINS_DATABASE_PATH L"DatabasePath" |
| #define CLUSREG_NAME_WINS_BACKUP_PATH L"BackupPath" | | #define CLUSREG_NAME_WINS_BACKUP_PATH L"BackupPath" |
| | |
| // | | // |
|
| // Local Quorum | | |
| // | | |
| | |
| #define CLUSREG_NAME_LKQUORUM_PATH L"Path" | | |
| #define CLUSREG_NAME_LKQUORUM_DEBUG L"Debug" | | |
| | |
| // | | |
| // Volume Shadow Copy Service Task | | // Volume Shadow Copy Service Task |
| // | | // |
| | |
| #define CLUSREG_NAME_VSSTASK_CURRENTDIRECTORY L"CurrentDirectory" | | #define CLUSREG_NAME_VSSTASK_CURRENTDIRECTORY L"CurrentDirectory" |
| #define CLUSREG_NAME_VSSTASK_APPNAME L"ApplicationName" | | #define CLUSREG_NAME_VSSTASK_APPNAME L"ApplicationName" |
| #define CLUSREG_NAME_VSSTASK_APPPARAMS L"ApplicationParams" | | #define CLUSREG_NAME_VSSTASK_APPPARAMS L"ApplicationParams" |
| #define CLUSREG_NAME_VSSTASK_TRIGGERARRAY L"TriggerArray" | | #define CLUSREG_NAME_VSSTASK_TRIGGERARRAY L"TriggerArray" |
| | |
|
| | // |
| | // File Share Quorum Witness Resource |
| | // |
| | |
| | #define CLUSREG_NAME_FSWITNESS_SHARE_PATH L"SharePath" |
| | #define CLUSREG_NAME_FSWITNESS_ARB_DELAY L"ArbitrationDelay" |
| | |
| #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" |
| | |
| End of changes. 107 change blocks. |
| 121 lines changed or deleted | | 861 lines changed or added |
|