123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449 |
- /**
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER.PD within this package.
- */
- #ifndef _CLUSTER_API_
- #define _CLUSTER_API_
- #define CLUSAPI_VERSION 0x0500
- #ifdef __cplusplus
- extern "C" {
- #endif
- #ifndef _CLUSTER_API_TYPES_
- typedef struct _HCLUSTER *HCLUSTER;
- typedef struct _HNODE *HNODE;
- typedef struct _HRESOURCE *HRESOURCE;
- typedef struct _HGROUP *HGROUP;
- typedef struct _HNETWORK *HNETWORK;
- typedef struct _HNETINTERFACE *HNETINTERFACE;
- typedef struct _HCHANGE *HCHANGE;
- typedef struct _HCLUSENUM *HCLUSENUM;
- typedef struct _HGROUPENUM *HGROUPENUM;
- typedef struct _HRESENUM *HRESENUM;
- typedef struct _HNETWORKENUM *HNETWORKENUM;
- typedef struct _HNODEENUM *HNODEENUM;
- typedef struct _HRESTYPEENUM *HRESTYPEENUM;
- #endif
- #define MAX_CLUSTERNAME_LENGTH MAX_COMPUTERNAME_LENGTH
- #ifndef _CLUSTER_API_TYPES_
- typedef enum CLUSTER_QUORUM_TYPE {
- OperationalQuorum,ModifyQuorum
- } CLUSTER_QUORUM_TYPE;
- typedef struct CLUSTERVERSIONINFO_NT4 {
- DWORD dwVersionInfoSize;
- WORD MajorVersion;
- WORD MinorVersion;
- WORD BuildNumber;
- WCHAR szVendorId[64];
- WCHAR szCSDVersion[64];
- } CLUSTERVERSIONINFO_NT4,*PCLUSTERVERSIONINFO_NT4;
- typedef struct CLUSTERVERSIONINFO {
- DWORD dwVersionInfoSize;
- WORD MajorVersion;
- WORD MinorVersion;
- WORD BuildNumber;
- WCHAR szVendorId[64];
- WCHAR szCSDVersion[64];
- DWORD dwClusterHighestVersion;
- DWORD dwClusterLowestVersion;
- DWORD dwFlags;
- DWORD dwReserved;
- } CLUSTERVERSIONINFO,*LPCLUSTERVERSIONINFO,*PCLUSTERVERSIONINFO;
- typedef struct CLUS_STARTING_PARAMS {
- DWORD dwSize;
- WINBOOL bForm;
- WINBOOL bFirst;
- } CLUS_STARTING_PARAMS,*PCLUS_STARTING_PARAMS;
- #define CLUSTER_VERSION_FLAG_MIXED_MODE 0x00000001
- #define NT4_MAJOR_VERSION 1
- #define NT4SP4_MAJOR_VERSION 2
- #define NT5_MAJOR_VERSION 3
- #define NT51_MAJOR_VERSION 4
- #define CLUSTER_VERSION_UNKNOWN 0xFFFFFFFF
- #define CLUSTER_MAKE_VERSION(_maj,_min) (((_maj) << 16) | (_min))
- #define CLUSTER_GET_MAJOR_VERSION(_ver) ((_ver) >> 16)
- #define CLUSTER_GET_MINOR_VERSION(_ver) ((_ver) & 0xFFFF)
- #define CLUSTER_INSTALLED 0x00000001
- #define CLUSTER_CONFIGURED 0x00000002
- #define CLUSTER_RUNNING 0x00000010
- typedef enum NODE_CLUSTER_STATE {
- ClusterStateNotInstalled = 0x00000000,ClusterStateNotConfigured = CLUSTER_INSTALLED,ClusterStateNotRunning = CLUSTER_INSTALLED | CLUSTER_CONFIGURED,
- ClusterStateRunning = CLUSTER_INSTALLED | CLUSTER_CONFIGURED | CLUSTER_RUNNING
- } NODE_CLUSTER_STATE;
- #define CLUSCTL_RESOURCE_STATE_CHANGE_REASON_VERSION_1 1
- typedef enum CLUSTER_RESOURCE_STATE_CHANGE_REASON {
- eResourceStateChangeReasonUnknown = 0,eResourceStateChangeReasonMove,eResourceStateChangeReasonFailover,eResourceStateChangeReasonFailedMove,
- eResourceStateChangeReasonShutdown,eResourceStateChangeReasonRundown
- } CLUSTER_RESOURCE_STATE_CHANGE_REASON;
- typedef struct _CLUSCTL_RESOURCE_STATE_CHANGE_REASON_STRUCT {
- DWORD dwSize;
- DWORD dwVersion;
- CLUSTER_RESOURCE_STATE_CHANGE_REASON eReason;
- } CLUSCTL_RESOURCE_STATE_CHANGE_REASON_STRUCT,*PCLUSCTL_RESOURCE_STATE_CHANGE_REASON_STRUCT;
- #endif
- #define CLUSAPI_READ_ACCESS __MSABI_LONG(0x00000001)
- #define CLUSAPI_CHANGE_ACCESS __MSABI_LONG(0x00000002)
- #define CLUSAPI_NO_ACCESS __MSABI_LONG(0x00000004)
- #define CLUSAPI_ALL_ACCESS (CLUSAPI_READ_ACCESS | CLUSAPI_CHANGE_ACCESS)
- typedef enum CLUSTER_SET_PASSWORD_FLAGS {
- CLUSTER_SET_PASSWORD_IGNORE_DOWN_NODES = 1
- } CLUSTER_SET_PASSWORD_FLAGS;
- typedef struct CLUSTER_SET_PASSWORD_STATUS {
- DWORD NodeId;
- BOOLEAN SetAttempted;
- DWORD ReturnStatus;
- } CLUSTER_SET_PASSWORD_STATUS,*PCLUSTER_SET_PASSWORD_STATUS;
- DWORD WINAPI GetNodeClusterState(LPCWSTR lpszNodeName,DWORD *pdwClusterState);
- HCLUSTER WINAPI OpenCluster(LPCWSTR lpszClusterName);
- WINBOOL WINAPI CloseCluster(HCLUSTER hCluster);
- DWORD WINAPI SetClusterName(HCLUSTER hCluster,LPCWSTR lpszNewClusterName);
- DWORD WINAPI GetClusterInformation(HCLUSTER hCluster,LPWSTR lpszClusterName,LPDWORD lpcchClusterName,LPCLUSTERVERSIONINFO lpClusterInfo);
- DWORD WINAPI GetClusterQuorumResource(HCLUSTER hCluster,LPWSTR lpszResourceName,LPDWORD lpcchResourceName,LPWSTR lpszDeviceName,LPDWORD lpcchDeviceName,LPDWORD lpdwMaxQuorumLogSize);
- DWORD WINAPI SetClusterQuorumResource(HRESOURCE hResource,LPCWSTR lpszDeviceName,DWORD dwMaxQuoLogSize);
- DWORD WINAPI BackupClusterDatabase(HCLUSTER hCluster,LPCWSTR lpszPathName);
- DWORD WINAPI RestoreClusterDatabase(LPCWSTR lpszPathName,WINBOOL bForce,LPCWSTR lpszQuorumDriveLetter);
- DWORD WINAPI SetClusterNetworkPriorityOrder(HCLUSTER hCluster,DWORD NetworkCount,HNETWORK NetworkList[]);
- DWORD WINAPI SetClusterServiceAccountPassword(LPCWSTR lpszClusterName,LPCWSTR lpszNewPassword,DWORD dwFlags,PCLUSTER_SET_PASSWORD_STATUS lpReturnStatusBuffer,LPDWORD lpcbReturnStatusBufferSize);
- DWORD WINAPI ClusterControl(HCLUSTER hCluster,HNODE hHostNode,DWORD dwControlCode,LPVOID lpInBuffer,DWORD nInBufferSize,LPVOID lpOutBuffer,DWORD nOutBufferSize,LPDWORD lpBytesReturned);
- #ifndef _CLUSTER_API_TYPES_
- typedef enum CLUSTER_CHANGE {
- CLUSTER_CHANGE_NODE_STATE = 0x00000001,CLUSTER_CHANGE_NODE_DELETED = 0x00000002,CLUSTER_CHANGE_NODE_ADDED = 0x00000004,
- CLUSTER_CHANGE_NODE_PROPERTY = 0x00000008,CLUSTER_CHANGE_REGISTRY_NAME = 0x00000010,CLUSTER_CHANGE_REGISTRY_ATTRIBUTES = 0x00000020,
- CLUSTER_CHANGE_REGISTRY_VALUE = 0x00000040,CLUSTER_CHANGE_REGISTRY_SUBTREE = 0x00000080,CLUSTER_CHANGE_RESOURCE_STATE = 0x00000100,
- CLUSTER_CHANGE_RESOURCE_DELETED = 0x00000200,CLUSTER_CHANGE_RESOURCE_ADDED = 0x00000400,CLUSTER_CHANGE_RESOURCE_PROPERTY = 0x00000800,
- CLUSTER_CHANGE_GROUP_STATE = 0x00001000,CLUSTER_CHANGE_GROUP_DELETED = 0x00002000,CLUSTER_CHANGE_GROUP_ADDED = 0x00004000,
- CLUSTER_CHANGE_GROUP_PROPERTY = 0x00008000,CLUSTER_CHANGE_RESOURCE_TYPE_DELETED = 0x00010000,CLUSTER_CHANGE_RESOURCE_TYPE_ADDED = 0x00020000,
- CLUSTER_CHANGE_RESOURCE_TYPE_PROPERTY = 0x00040000,CLUSTER_CHANGE_CLUSTER_RECONNECT = 0x00080000,CLUSTER_CHANGE_NETWORK_STATE = 0x00100000,
- CLUSTER_CHANGE_NETWORK_DELETED = 0x00200000,CLUSTER_CHANGE_NETWORK_ADDED = 0x00400000,CLUSTER_CHANGE_NETWORK_PROPERTY = 0x00800000,
- CLUSTER_CHANGE_NETINTERFACE_STATE = 0x01000000,CLUSTER_CHANGE_NETINTERFACE_DELETED = 0x02000000,CLUSTER_CHANGE_NETINTERFACE_ADDED = 0x04000000,
- CLUSTER_CHANGE_NETINTERFACE_PROPERTY = 0x08000000,CLUSTER_CHANGE_QUORUM_STATE = 0x10000000,CLUSTER_CHANGE_CLUSTER_STATE = 0x20000000,
- CLUSTER_CHANGE_CLUSTER_PROPERTY = 0x40000000,CLUSTER_CHANGE_HANDLE_CLOSE = 0x80000000,
- CLUSTER_CHANGE_ALL = (CLUSTER_CHANGE_NODE_STATE | CLUSTER_CHANGE_NODE_DELETED | CLUSTER_CHANGE_NODE_ADDED | CLUSTER_CHANGE_NODE_PROPERTY | CLUSTER_CHANGE_REGISTRY_NAME | CLUSTER_CHANGE_REGISTRY_ATTRIBUTES | CLUSTER_CHANGE_REGISTRY_VALUE | CLUSTER_CHANGE_REGISTRY_SUBTREE | CLUSTER_CHANGE_RESOURCE_STATE | CLUSTER_CHANGE_RESOURCE_DELETED | CLUSTER_CHANGE_RESOURCE_ADDED | CLUSTER_CHANGE_RESOURCE_PROPERTY | CLUSTER_CHANGE_GROUP_STATE | CLUSTER_CHANGE_GROUP_DELETED | CLUSTER_CHANGE_GROUP_ADDED | CLUSTER_CHANGE_GROUP_PROPERTY | CLUSTER_CHANGE_RESOURCE_TYPE_DELETED | CLUSTER_CHANGE_RESOURCE_TYPE_ADDED | CLUSTER_CHANGE_RESOURCE_TYPE_PROPERTY | CLUSTER_CHANGE_NETWORK_STATE | CLUSTER_CHANGE_NETWORK_DELETED | CLUSTER_CHANGE_NETWORK_ADDED | CLUSTER_CHANGE_NETWORK_PROPERTY | CLUSTER_CHANGE_NETINTERFACE_STATE | CLUSTER_CHANGE_NETINTERFACE_DELETED | CLUSTER_CHANGE_NETINTERFACE_ADDED | CLUSTER_CHANGE_NETINTERFACE_PROPERTY | CLUSTER_CHANGE_QUORUM_STATE | CLUSTER_CHANGE_CLUSTER_STATE | CLUSTER_CHANGE_CLUSTER_PROPERTY | CLUSTER_CHANGE_CLUSTER_RECONNECT | CLUSTER_CHANGE_HANDLE_CLOSE)
- } CLUSTER_CHANGE;
- #endif
- HCHANGE WINAPI CreateClusterNotifyPort(HCHANGE hChange,HCLUSTER hCluster,DWORD dwFilter,DWORD_PTR dwNotifyKey);
- DWORD WINAPI RegisterClusterNotify(HCHANGE hChange,DWORD dwFilterType,HANDLE hObject,DWORD_PTR dwNotifyKey);
- DWORD WINAPI GetClusterNotify(HCHANGE hChange,DWORD_PTR *lpdwNotifyKey,LPDWORD lpdwFilterType,LPWSTR lpszName,LPDWORD lpcchName,DWORD dwMilliseconds);
- WINBOOL WINAPI CloseClusterNotifyPort(HCHANGE hChange);
- #ifndef _CLUSTER_API_TYPES_
- typedef enum CLUSTER_ENUM {
- CLUSTER_ENUM_NODE = 0x00000001,CLUSTER_ENUM_RESTYPE = 0x00000002,CLUSTER_ENUM_RESOURCE = 0x00000004,CLUSTER_ENUM_GROUP = 0x00000008,
- CLUSTER_ENUM_NETWORK = 0x00000010,CLUSTER_ENUM_NETINTERFACE = 0x00000020,CLUSTER_ENUM_INTERNAL_NETWORK = 0x80000000,
- CLUSTER_ENUM_ALL = (CLUSTER_ENUM_NODE | CLUSTER_ENUM_RESTYPE | CLUSTER_ENUM_RESOURCE | CLUSTER_ENUM_GROUP | CLUSTER_ENUM_NETWORK | CLUSTER_ENUM_NETINTERFACE)
- } CLUSTER_ENUM;
- #endif
- HCLUSENUM WINAPI ClusterOpenEnum(HCLUSTER hCluster,DWORD dwType);
- DWORD WINAPI ClusterGetEnumCount(HCLUSENUM hEnum);
- DWORD WINAPI ClusterEnum(HCLUSENUM hEnum,DWORD dwIndex,LPDWORD lpdwType,LPWSTR lpszName,LPDWORD lpcchName);
- DWORD WINAPI ClusterCloseEnum(HCLUSENUM hEnum);
- #ifndef _CLUSTER_API_TYPES_
- 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;
- typedef enum CLUSTER_NODE_STATE {
- ClusterNodeStateUnknown = -1,ClusterNodeUp,ClusterNodeDown,ClusterNodePaused,ClusterNodeJoining
- } CLUSTER_NODE_STATE;
- #endif
- HNODE WINAPI OpenClusterNode(HCLUSTER hCluster,LPCWSTR lpszNodeName);
- WINBOOL WINAPI CloseClusterNode(HNODE hNode);
- CLUSTER_NODE_STATE WINAPI GetClusterNodeState(HNODE hNode);
- DWORD WINAPI GetClusterNodeId(HNODE hNode,LPWSTR lpszNodeId,LPDWORD lpcchName);
- #define GetCurrentClusterNodeId(_lpszNodeId_,_lpcchName_) GetClusterNodeId(NULL,(_lpszNodeId_),(_lpcchName_))
- HCLUSTER WINAPI GetClusterFromNode(HNODE hNode);
- DWORD WINAPI PauseClusterNode(HNODE hNode);
- DWORD WINAPI ResumeClusterNode(HNODE hNode);
- DWORD WINAPI EvictClusterNode(HNODE hNode);
- HNODEENUM WINAPI ClusterNodeOpenEnum(HNODE hNode,DWORD dwType);
- DWORD WINAPI ClusterNodeGetEnumCount(HNODEENUM hNodeEnum);
- DWORD WINAPI ClusterNodeCloseEnum(HNODEENUM hNodeEnum);
- DWORD WINAPI ClusterNodeEnum(HNODEENUM hNodeEnum,DWORD dwIndex,LPDWORD lpdwType,LPWSTR lpszName,LPDWORD lpcchName);
- DWORD WINAPI EvictClusterNodeEx(HNODE hNode,DWORD dwTimeOut,HRESULT *phrCleanupStatus);
- HKEY WINAPI GetClusterResourceTypeKey(HCLUSTER hCluster,LPCWSTR lpszTypeName,REGSAM samDesired);
- #ifndef _CLUSTER_API_TYPES_
- typedef enum CLUSTER_GROUP_ENUM {
- CLUSTER_GROUP_ENUM_CONTAINS = 0x00000001,CLUSTER_GROUP_ENUM_NODES = 0x00000002,
- CLUSTER_GROUP_ENUM_ALL = (CLUSTER_GROUP_ENUM_CONTAINS | CLUSTER_GROUP_ENUM_NODES)
- } CLUSTER_GROUP_ENUM;
- typedef enum CLUSTER_GROUP_STATE {
- ClusterGroupStateUnknown = -1,ClusterGroupOnline,ClusterGroupOffline,ClusterGroupFailed,ClusterGroupPartialOnline,ClusterGroupPending
- } CLUSTER_GROUP_STATE;
- typedef enum CLUSTER_GROUP_AUTOFAILBACK_TYPE {
- ClusterGroupPreventFailback = 0,ClusterGroupAllowFailback,ClusterGroupFailbackTypeCount
- } CLUSTER_GROUP_AUTOFAILBACK_TYPE,CGAFT;
- #endif
- HGROUP WINAPI CreateClusterGroup(HCLUSTER hCluster,LPCWSTR lpszGroupName);
- HGROUP WINAPI OpenClusterGroup(HCLUSTER hCluster,LPCWSTR lpszGroupName);
- WINBOOL WINAPI CloseClusterGroup(HGROUP hGroup);
- HCLUSTER WINAPI GetClusterFromGroup(HGROUP hGroup);
- CLUSTER_GROUP_STATE WINAPI GetClusterGroupState(HGROUP hGroup,LPWSTR lpszNodeName,LPDWORD lpcchNodeName);
- DWORD WINAPI SetClusterGroupName(HGROUP hGroup,LPCWSTR lpszGroupName);
- DWORD WINAPI SetClusterGroupNodeList(HGROUP hGroup,DWORD NodeCount,HNODE NodeList[]);
- DWORD WINAPI OnlineClusterGroup(HGROUP hGroup,HNODE hDestinationNode);
- DWORD WINAPI MoveClusterGroup(HGROUP hGroup,HNODE hDestinationNode);
- DWORD WINAPI OfflineClusterGroup(HGROUP hGroup);
- DWORD WINAPI DeleteClusterGroup(HGROUP hGroup);
- HGROUPENUM WINAPI ClusterGroupOpenEnum(HGROUP hGroup,DWORD dwType);
- DWORD WINAPI ClusterGroupGetEnumCount(HGROUPENUM hGroupEnum);
- DWORD WINAPI ClusterGroupEnum(HGROUPENUM hGroupEnum,DWORD dwIndex,LPDWORD lpdwType,LPWSTR lpszResourceName,LPDWORD lpcchName);
- DWORD WINAPI ClusterGroupCloseEnum(HGROUPENUM hGroupEnum);
- #ifndef _CLUSTER_API_TYPES_
- typedef enum CLUSTER_RESOURCE_STATE {
- ClusterResourceStateUnknown = -1,ClusterResourceInherited,ClusterResourceInitializing,ClusterResourceOnline,ClusterResourceOffline,
- ClusterResourceFailed,ClusterResourcePending = 128,ClusterResourceOnlinePending,ClusterResourceOfflinePending
- } CLUSTER_RESOURCE_STATE;
- typedef enum CLUSTER_RESOURCE_RESTART_ACTION {
- ClusterResourceDontRestart = 0,ClusterResourceRestartNoNotify,ClusterResourceRestartNotify,ClusterResourceRestartActionCount
- } CLUSTER_RESOURCE_RESTART_ACTION,CRRA;
- typedef enum CLUSTER_RESOURCE_CREATE_FLAGS {
- CLUSTER_RESOURCE_DEFAULT_MONITOR = 0,CLUSTER_RESOURCE_SEPARATE_MONITOR = 1,CLUSTER_RESOURCE_VALID_FLAGS = CLUSTER_RESOURCE_SEPARATE_MONITOR
- } CLUSTER_RESOURCE_CREATE_FLAGS;
- #endif
- HRESOURCE WINAPI CreateClusterResource(HGROUP hGroup,LPCWSTR lpszResourceName,LPCWSTR lpszResourceType,DWORD dwFlags);
- HRESOURCE WINAPI OpenClusterResource(HCLUSTER hCluster,LPCWSTR lpszResourceName);
- WINBOOL WINAPI CloseClusterResource(HRESOURCE hResource);
- HCLUSTER WINAPI GetClusterFromResource(HRESOURCE hResource);
- DWORD WINAPI DeleteClusterResource(HRESOURCE hResource);
- CLUSTER_RESOURCE_STATE WINAPI GetClusterResourceState(HRESOURCE hResource,LPWSTR lpszNodeName,LPDWORD lpcchNodeName,LPWSTR lpszGroupName,LPDWORD lpcchGroupName);
- DWORD WINAPI SetClusterResourceName(HRESOURCE hResource,LPCWSTR lpszResourceName);
- DWORD WINAPI FailClusterResource(HRESOURCE hResource);
- DWORD WINAPI OnlineClusterResource(HRESOURCE hResource);
- DWORD WINAPI OfflineClusterResource(HRESOURCE hResource);
- DWORD WINAPI ChangeClusterResourceGroup(HRESOURCE hResource,HGROUP hGroup);
- DWORD WINAPI AddClusterResourceNode(HRESOURCE hResource,HNODE hNode);
- DWORD WINAPI RemoveClusterResourceNode(HRESOURCE hResource,HNODE hNode);
- DWORD WINAPI AddClusterResourceDependency(HRESOURCE hResource,HRESOURCE hDependsOn);
- DWORD WINAPI RemoveClusterResourceDependency(HRESOURCE hResource,HRESOURCE hDependsOn);
- WINBOOL WINAPI CanResourceBeDependent(HRESOURCE hResource,HRESOURCE hResourceDependent);
- DWORD WINAPI ClusterResourceControl(HRESOURCE hResource,HNODE hHostNode,DWORD dwControlCode,LPVOID lpInBuffer,DWORD cbInBufferSize,LPVOID lpOutBuffer,DWORD cbOutBufferSize,LPDWORD lpBytesReturned);
- DWORD WINAPI ClusterResourceTypeControl(HCLUSTER hCluster,LPCWSTR lpszResourceTypeName,HNODE hHostNode,DWORD dwControlCode,LPVOID lpInBuffer,DWORD nInBufferSize,LPVOID lpOutBuffer,DWORD nOutBufferSize,LPDWORD lpBytesReturned);
- DWORD WINAPI ClusterGroupControl(HGROUP hGroup,HNODE hHostNode,DWORD dwControlCode,LPVOID lpInBuffer,DWORD nInBufferSize,LPVOID lpOutBuffer,DWORD nOutBufferSize,LPDWORD lpBytesReturned);
- DWORD WINAPI ClusterNodeControl(HNODE hNode,HNODE hHostNode,DWORD dwControlCode,LPVOID lpInBuffer,DWORD nInBufferSize,LPVOID lpOutBuffer,DWORD nOutBufferSize,LPDWORD lpBytesReturned);
- WINBOOL WINAPI GetClusterResourceNetworkName(HRESOURCE hResource,LPWSTR lpBuffer,LPDWORD nSize);
- #ifndef _CLUSTER_API_TYPES_
- typedef enum CLUSTER_PROPERTY_TYPE {
- CLUSPROP_TYPE_UNKNOWN = -1,CLUSPROP_TYPE_ENDMARK = 0,CLUSPROP_TYPE_LIST_VALUE,CLUSPROP_TYPE_RESCLASS,CLUSPROP_TYPE_RESERVED1,CLUSPROP_TYPE_NAME,
- CLUSPROP_TYPE_SIGNATURE,CLUSPROP_TYPE_SCSI_ADDRESS,CLUSPROP_TYPE_DISK_NUMBER,CLUSPROP_TYPE_PARTITION_INFO,CLUSPROP_TYPE_FTSET_INFO,
- CLUSPROP_TYPE_DISK_SERIALNUMBER,
- CLUSPROP_TYPE_DISK_GUID = 11,
- CLUSPROP_TYPE_DISK_SIZE = 12,
- CLUSPROP_TYPE_PARTITION_INFO_EX = 13,
- CLUSPROP_TYPE_USER=32768
- } CLUSTER_PROPERTY_TYPE;
- typedef enum CLUSTER_PROPERTY_FORMAT {
- CLUSPROP_FORMAT_UNKNOWN = 0,CLUSPROP_FORMAT_BINARY,CLUSPROP_FORMAT_DWORD,CLUSPROP_FORMAT_SZ,CLUSPROP_FORMAT_EXPAND_SZ,CLUSPROP_FORMAT_MULTI_SZ,
- CLUSPROP_FORMAT_ULARGE_INTEGER,CLUSPROP_FORMAT_LONG,CLUSPROP_FORMAT_EXPANDED_SZ,CLUSPROP_FORMAT_SECURITY_DESCRIPTOR,CLUSPROP_FORMAT_LARGE_INTEGER,
- CLUSPROP_FORMAT_WORD,
- CLUSPROP_FORMAT_FILETIME = 12,
- CLUSPROP_FORMAT_USER=32768
- } CLUSTER_PROPERTY_FORMAT;
- #endif
- #define CLUSPROP_SYNTAX_VALUE(type,format) ((DWORD) ((type << 16) | format))
- #ifndef _CLUSTER_API_TYPES_
- typedef enum CLUSTER_PROPERTY_SYNTAX {
- CLUSPROP_SYNTAX_ENDMARK = CLUSPROP_SYNTAX_VALUE(CLUSPROP_TYPE_ENDMARK,CLUSPROP_FORMAT_UNKNOWN),
- CLUSPROP_SYNTAX_NAME = CLUSPROP_SYNTAX_VALUE(CLUSPROP_TYPE_NAME,CLUSPROP_FORMAT_SZ),
- CLUSPROP_SYNTAX_RESCLASS = CLUSPROP_SYNTAX_VALUE(CLUSPROP_TYPE_RESCLASS,CLUSPROP_FORMAT_DWORD),
- CLUSPROP_SYNTAX_LIST_VALUE_SZ = CLUSPROP_SYNTAX_VALUE(CLUSPROP_TYPE_LIST_VALUE,CLUSPROP_FORMAT_SZ),
- CLUSPROP_SYNTAX_LIST_VALUE_EXPAND_SZ = CLUSPROP_SYNTAX_VALUE(CLUSPROP_TYPE_LIST_VALUE,CLUSPROP_FORMAT_EXPAND_SZ),
- CLUSPROP_SYNTAX_LIST_VALUE_DWORD = CLUSPROP_SYNTAX_VALUE(CLUSPROP_TYPE_LIST_VALUE,CLUSPROP_FORMAT_DWORD),
- CLUSPROP_SYNTAX_LIST_VALUE_BINARY = CLUSPROP_SYNTAX_VALUE(CLUSPROP_TYPE_LIST_VALUE,CLUSPROP_FORMAT_BINARY),
- CLUSPROP_SYNTAX_LIST_VALUE_MULTI_SZ = CLUSPROP_SYNTAX_VALUE(CLUSPROP_TYPE_LIST_VALUE,CLUSPROP_FORMAT_MULTI_SZ),
- CLUSPROP_SYNTAX_LIST_VALUE_LONG = CLUSPROP_SYNTAX_VALUE(CLUSPROP_TYPE_LIST_VALUE,CLUSPROP_FORMAT_LONG),
- CLUSPROP_SYNTAX_LIST_VALUE_EXPANDED_SZ = CLUSPROP_SYNTAX_VALUE(CLUSPROP_TYPE_LIST_VALUE,CLUSPROP_FORMAT_EXPANDED_SZ),
- CLUSPROP_SYNTAX_LIST_VALUE_SECURITY_DESCRIPTOR = CLUSPROP_SYNTAX_VALUE(CLUSPROP_TYPE_LIST_VALUE,CLUSPROP_FORMAT_SECURITY_DESCRIPTOR),
- CLUSPROP_SYNTAX_LIST_VALUE_LARGE_INTEGER = CLUSPROP_SYNTAX_VALUE(CLUSPROP_TYPE_LIST_VALUE,CLUSPROP_FORMAT_LARGE_INTEGER),
- CLUSPROP_SYNTAX_LIST_VALUE_ULARGE_INTEGER = CLUSPROP_SYNTAX_VALUE(CLUSPROP_TYPE_LIST_VALUE,CLUSPROP_FORMAT_ULARGE_INTEGER),
- CLUSPROP_SYNTAX_DISK_SIGNATURE = CLUSPROP_SYNTAX_VALUE(CLUSPROP_TYPE_SIGNATURE,CLUSPROP_FORMAT_DWORD),
- CLUSPROP_SYNTAX_SCSI_ADDRESS = CLUSPROP_SYNTAX_VALUE(CLUSPROP_TYPE_SCSI_ADDRESS,CLUSPROP_FORMAT_DWORD),
- CLUSPROP_SYNTAX_DISK_NUMBER = CLUSPROP_SYNTAX_VALUE(CLUSPROP_TYPE_DISK_NUMBER,CLUSPROP_FORMAT_DWORD),
- CLUSPROP_SYNTAX_PARTITION_INFO = CLUSPROP_SYNTAX_VALUE(CLUSPROP_TYPE_PARTITION_INFO,CLUSPROP_FORMAT_BINARY),
- CLUSPROP_SYNTAX_FTSET_INFO = CLUSPROP_SYNTAX_VALUE(CLUSPROP_TYPE_FTSET_INFO,CLUSPROP_FORMAT_BINARY),
- CLUSPROP_SYNTAX_DISK_SERIALNUMBER = CLUSPROP_SYNTAX_VALUE(CLUSPROP_TYPE_DISK_SERIALNUMBER,CLUSPROP_FORMAT_SZ),
- CLUSPROP_SYNTAX_DISK_GUID = CLUSPROP_SYNTAX_VALUE(CLUSPROP_TYPE_DISK_GUID,CLUSPROP_FORMAT_SZ), /*0x000b0003*/
- CLUSPROP_SYNTAX_DISK_SIZE = CLUSPROP_SYNTAX_VALUE(CLUSPROP_TYPE_DISK_SIZE,CLUSPROP_FORMAT_ULARGE_INTEGER),/*0x000c0006*/
- CLUSPROP_SYNTAX_PARTITION_INFO_EX = CLUSPROP_SYNTAX_VALUE(CLUSPROP_TYPE_PARTITION_INFO_EX,CLUSPROP_FORMAT_BINARY),/*0x000d0001*/
- CLUSPROP_SYNTAX_LIST_VALUE_FILETIME = CLUSPROP_SYNTAX_VALUE(CLUSPROP_TYPE_LIST_VALUE,CLUSPROP_FORMAT_FILETIME) /*0x0001000c*/
- } CLUSTER_PROPERTY_SYNTAX;
- #endif
- #define CLUS_ACCESS_ANY 0
- #define CLUS_ACCESS_READ 0x01
- #define CLUS_ACCESS_WRITE 0x02
- #define CLUS_NO_MODIFY 0
- #define CLUS_MODIFY 0x01
- #define CLUS_NOT_GLOBAL 0
- #define CLUS_GLOBAL 0x01
- #ifndef _CLUSTER_API_TYPES_
- typedef enum CLUSTER_CONTROL_OBJECT {
- CLUS_OBJECT_INVALID=0,CLUS_OBJECT_RESOURCE,CLUS_OBJECT_RESOURCE_TYPE,CLUS_OBJECT_GROUP,CLUS_OBJECT_NODE,CLUS_OBJECT_NETWORK,
- CLUS_OBJECT_NETINTERFACE,CLUS_OBJECT_CLUSTER,CLUS_OBJECT_USER=128
- } CLUSTER_CONTROL_OBJECT;
- #endif
- #define CLUSCTL_ACCESS_SHIFT 0
- #define CLUSCTL_FUNCTION_SHIFT 2
- #define CLCTL_INTERNAL_SHIFT 20
- #define CLCTL_USER_SHIFT 21
- #define CLCTL_MODIFY_SHIFT 22
- #define CLCTL_GLOBAL_SHIFT 23
- #define CLUSCTL_OBJECT_SHIFT 24
- #define CLCTL_INTERNAL_MASK (1<<CLCTL_INTERNAL_SHIFT)
- #define CLCTL_USER_MASK (1<<CLCTL_USER_SHIFT)
- #define CLCTL_MODIFY_MASK (1<<CLCTL_MODIFY_SHIFT)
- #define CLCTL_GLOBAL_MASK (1<<CLCTL_GLOBAL_SHIFT)
- #define CLUSCTL_CONTROL_CODE_MASK 0x3FFFFF
- #define CLUSCTL_OBJECT_MASK 0xFF
- #define CLUSCTL_ACCESS_MODE_MASK 0x03
- #define CLCTL_CLUSTER_BASE 0
- #define CLCTL_USER_BASE (1<<CLCTL_USER_SHIFT)
- #define CLCTL_EXTERNAL_CODE(Function,Access,Modify) (((Access) << CLUSCTL_ACCESS_SHIFT) | ((CLCTL_CLUSTER_BASE + Function) << CLUSCTL_FUNCTION_SHIFT) | ((Modify) << CLCTL_MODIFY_SHIFT))
- #define CLCTL_INTERNAL_CODE(Function,Access,Modify) (((Access) << CLUSCTL_ACCESS_SHIFT) | CLCTL_INTERNAL_MASK | ((CLCTL_CLUSTER_BASE + Function) << CLUSCTL_FUNCTION_SHIFT) | ((Modify) << CLCTL_MODIFY_SHIFT))
- #ifndef _CLUSTER_API_TYPES_
- typedef enum CLCTL_CODES {
- CLCTL_UNKNOWN = CLCTL_EXTERNAL_CODE(0,CLUS_ACCESS_ANY,CLUS_NO_MODIFY),
- CLCTL_GET_CHARACTERISTICS = CLCTL_EXTERNAL_CODE(1,CLUS_ACCESS_READ,CLUS_NO_MODIFY),
- CLCTL_GET_FLAGS = CLCTL_EXTERNAL_CODE(2,CLUS_ACCESS_READ,CLUS_NO_MODIFY),
- CLCTL_GET_CLASS_INFO = CLCTL_EXTERNAL_CODE(3,CLUS_ACCESS_READ,CLUS_NO_MODIFY),
- CLCTL_GET_REQUIRED_DEPENDENCIES = CLCTL_EXTERNAL_CODE(4,CLUS_ACCESS_READ,
- CLUS_NO_MODIFY),CLCTL_GET_ARB_TIMEOUT = CLCTL_EXTERNAL_CODE(5,CLUS_ACCESS_READ,
- CLUS_NO_MODIFY),CLCTL_GET_NAME = CLCTL_EXTERNAL_CODE(10,CLUS_ACCESS_READ,
- CLUS_NO_MODIFY),CLCTL_GET_RESOURCE_TYPE = CLCTL_EXTERNAL_CODE(11,
- CLUS_ACCESS_READ,CLUS_NO_MODIFY),CLCTL_GET_NODE = CLCTL_EXTERNAL_CODE(12,CLUS_ACCESS_READ,CLUS_NO_MODIFY),
- CLCTL_GET_NETWORK = CLCTL_EXTERNAL_CODE(13,CLUS_ACCESS_READ,CLUS_NO_MODIFY),
- CLCTL_GET_ID = CLCTL_EXTERNAL_CODE(14,CLUS_ACCESS_READ,CLUS_NO_MODIFY),
- CLCTL_GET_FQDN = CLCTL_EXTERNAL_CODE(15,CLUS_ACCESS_READ,CLUS_NO_MODIFY),
- CLCTL_GET_CLUSTER_SERVICE_ACCOUNT_NAME = CLCTL_EXTERNAL_CODE(16,CLUS_ACCESS_READ,CLUS_NO_MODIFY),
- CLCTL_CHECK_VOTER_EVICT = CLCTL_EXTERNAL_CODE(17,CLUS_ACCESS_READ,CLUS_NO_MODIFY),/*0x00000045*/
- CLCTL_CHECK_VOTER_DOWN = CLCTL_EXTERNAL_CODE(18,CLUS_ACCESS_READ,CLUS_NO_MODIFY),/*0x00000049*/
- CLCTL_SHUTDOWN = CLCTL_EXTERNAL_CODE(19,CLUS_ACCESS_READ,CLUS_NO_MODIFY),/*0x0000004d*/
- CLCTL_ENUM_COMMON_PROPERTIES = CLCTL_EXTERNAL_CODE(20,CLUS_ACCESS_READ,CLUS_NO_MODIFY),
- CLCTL_GET_RO_COMMON_PROPERTIES = CLCTL_EXTERNAL_CODE(21,CLUS_ACCESS_READ,CLUS_NO_MODIFY),
- CLCTL_GET_COMMON_PROPERTIES = CLCTL_EXTERNAL_CODE(22,CLUS_ACCESS_READ,CLUS_NO_MODIFY),
- CLCTL_SET_COMMON_PROPERTIES = CLCTL_EXTERNAL_CODE(23,CLUS_ACCESS_WRITE,CLUS_MODIFY),
- CLCTL_VALIDATE_COMMON_PROPERTIES = CLCTL_EXTERNAL_CODE(24,CLUS_ACCESS_READ,CLUS_NO_MODIFY),
- CLCTL_GET_COMMON_PROPERTY_FMTS = CLCTL_EXTERNAL_CODE(25,CLUS_ACCESS_READ,CLUS_NO_MODIFY),
- CLCTL_GET_COMMON_RESOURCE_PROPERTY_FMTS = CLCTL_EXTERNAL_CODE(26,CLUS_ACCESS_READ,CLUS_NO_MODIFY),
- CLCTL_ENUM_PRIVATE_PROPERTIES = CLCTL_EXTERNAL_CODE(30,CLUS_ACCESS_READ,CLUS_NO_MODIFY),
- CLCTL_GET_RO_PRIVATE_PROPERTIES = CLCTL_EXTERNAL_CODE(31,CLUS_ACCESS_READ,CLUS_NO_MODIFY),
- CLCTL_GET_PRIVATE_PROPERTIES = CLCTL_EXTERNAL_CODE(32,CLUS_ACCESS_READ,CLUS_NO_MODIFY),
- CLCTL_SET_PRIVATE_PROPERTIES = CLCTL_EXTERNAL_CODE(33,CLUS_ACCESS_WRITE,CLUS_MODIFY),
- CLCTL_VALIDATE_PRIVATE_PROPERTIES = CLCTL_EXTERNAL_CODE(34,CLUS_ACCESS_READ,CLUS_NO_MODIFY),
- CLCTL_GET_PRIVATE_PROPERTY_FMTS = CLCTL_EXTERNAL_CODE(35,CLUS_ACCESS_READ,CLUS_NO_MODIFY),
- CLCTL_GET_PRIVATE_RESOURCE_PROPERTY_FMTS= CLCTL_EXTERNAL_CODE(36,CLUS_ACCESS_READ,CLUS_NO_MODIFY),
- CLCTL_ADD_REGISTRY_CHECKPOINT = CLCTL_EXTERNAL_CODE(40,CLUS_ACCESS_WRITE,CLUS_MODIFY),
- CLCTL_DELETE_REGISTRY_CHECKPOINT = CLCTL_EXTERNAL_CODE(41,CLUS_ACCESS_WRITE,CLUS_MODIFY),
- CLCTL_GET_REGISTRY_CHECKPOINTS = CLCTL_EXTERNAL_CODE(42,CLUS_ACCESS_READ,CLUS_NO_MODIFY),
- CLCTL_ADD_CRYPTO_CHECKPOINT = CLCTL_EXTERNAL_CODE(43,CLUS_ACCESS_WRITE,CLUS_MODIFY),
- CLCTL_DELETE_CRYPTO_CHECKPOINT = CLCTL_EXTERNAL_CODE(44,CLUS_ACCESS_WRITE,CLUS_MODIFY),
- CLCTL_GET_CRYPTO_CHECKPOINTS = CLCTL_EXTERNAL_CODE(45,CLUS_ACCESS_READ,CLUS_NO_MODIFY),
- CLCTL_RESOURCE_UPGRADE_DLL = CLCTL_EXTERNAL_CODE(46,CLUS_ACCESS_WRITE,CLUS_MODIFY),
- CLCTL_ADD_REGISTRY_CHECKPOINT_64BIT = CLCTL_EXTERNAL_CODE(47,CLUS_ACCESS_WRITE,CLUS_MODIFY),
- CLCTL_ADD_REGISTRY_CHECKPOINT_32BIT = CLCTL_EXTERNAL_CODE(48,CLUS_ACCESS_WRITE,CLUS_MODIFY),
- CLCTL_GET_LOADBAL_PROCESS_LIST = CLCTL_EXTERNAL_CODE(50,CLUS_ACCESS_READ,CLUS_NO_MODIFY),
- CLCTL_GET_NETWORK_NAME = CLCTL_EXTERNAL_CODE(90,CLUS_ACCESS_READ,CLUS_NO_MODIFY),
- CLCTL_NETNAME_GET_VIRTUAL_SERVER_TOKEN = CLCTL_EXTERNAL_CODE(91,CLUS_ACCESS_READ,
- CLUS_NO_MODIFY),CLCTL_NETNAME_REGISTER_DNS_RECORDS = CLCTL_EXTERNAL_CODE(92,CLUS_ACCESS_WRITE,CLUS_NO_MODIFY),
- CLCTL_NETNAME_CREDS_UPDATED = (CLCTL_EXTERNAL_CODE(98,CLUS_ACCESS_WRITE,CLUS_MODIFY)|CLCTL_GLOBAL_MASK),
- CLCTL_STORAGE_GET_DISK_INFO = CLCTL_EXTERNAL_CODE(100,CLUS_ACCESS_READ,CLUS_NO_MODIFY),
- CLCTL_STORAGE_GET_AVAILABLE_DISKS = CLCTL_EXTERNAL_CODE(101,CLUS_ACCESS_READ,CLUS_NO_MODIFY),
- CLCTL_STORAGE_IS_PATH_VALID = CLCTL_EXTERNAL_CODE(102,CLUS_ACCESS_READ,CLUS_NO_MODIFY),
- CLCTL_STORAGE_GET_ALL_AVAILABLE_DISKS = (CLCTL_EXTERNAL_CODE(103,CLUS_ACCESS_READ,CLUS_NO_MODIFY) | CLCTL_GLOBAL_MASK),
- CLCTL_QUERY_DELETE = CLCTL_EXTERNAL_CODE(110,CLUS_ACCESS_READ,CLUS_NO_MODIFY),
- CLCTL_QUERY_MAINTENANCE_MODE = CLCTL_EXTERNAL_CODE(120,CLUS_ACCESS_READ,CLUS_NO_MODIFY),
- CLCTL_SET_MAINTENANCE_MODE = CLCTL_EXTERNAL_CODE(121,CLUS_ACCESS_WRITE,CLUS_MODIFY),
- CLCTL_STORAGE_SET_DRIVELETTER = CLCTL_EXTERNAL_CODE(122,CLUS_ACCESS_WRITE,CLUS_MODIFY),/*0x004001ea*/
- CLCTL_STORAGE_GET_DRIVELETTERS = CLCTL_EXTERNAL_CODE(123,CLUS_ACCESS_READ,CLUS_NO_MODIFY),/*0x000001ed*/
- CLCTL_STORAGE_GET_DISK_INFO_EX = CLCTL_EXTERNAL_CODE(124,CLUS_ACCESS_READ,CLUS_NO_MODIFY),/*0x000001f1*/
- CLCTL_STORAGE_GET_AVAILABLE_DISKS_EX = CLCTL_EXTERNAL_CODE(125,CLUS_ACCESS_READ,CLUS_NO_MODIFY),/*0x000001f5*/
- CLCTL_STORAGE_REMAP_DRIVELETTER = CLCTL_EXTERNAL_CODE(128,CLUS_ACCESS_READ,CLUS_NO_MODIFY),/*0x00000201,*/
- CLCTL_STORAGE_GET_DISKID = CLCTL_EXTERNAL_CODE(129,CLUS_ACCESS_READ,CLUS_NO_MODIFY),/*0x00000205*/
- CLCTL_STORAGE_IS_CLUSTERABLE = CLCTL_EXTERNAL_CODE(130,CLUS_ACCESS_READ,CLUS_NO_MODIFY),/*0x00000209*/
- CLCTL_STORAGE_REMOVE_VM_OWNERSHIP = CLCTL_EXTERNAL_CODE(131,CLUS_ACCESS_WRITE,CLUS_MODIFY),/*0x0040020e*/
- CLCTL_STORAGE_GET_MOUNTPOINTS = CLCTL_EXTERNAL_CODE(132,CLUS_ACCESS_READ,CLUS_NO_MODIFY),/*0x00000211*/
- CLCTL_STORAGE_CLUSTER_DISK = (CLCTL_EXTERNAL_CODE(132,CLUS_ACCESS_WRITE,CLUS_MODIFY)|CLCTL_GLOBAL_MASK),/*0x00c00212*/
- CLCTL_STORAGE_GET_DIRTY = CLCTL_EXTERNAL_CODE(134,CLUS_ACCESS_READ,CLUS_NO_MODIFY),/*0x00000219*/
- CLCTL_STORAGE_GET_SHARED_VOLUME_INFO = CLCTL_EXTERNAL_CODE(137,CLUS_ACCESS_READ,CLUS_NO_MODIFY),/* 0x00000225 */
- CLCTL_STORAGE_IS_CSV_FILE = CLCTL_EXTERNAL_CODE(138,CLUS_ACCESS_READ,CLUS_NO_MODIFY),/*0x00000229*/
- CLCTL_VALIDATE_PATH = CLCTL_EXTERNAL_CODE(140,CLUS_ACCESS_READ,CLUS_NO_MODIFY),/*0x00000231,*/
- CLCTL_VALIDATE_NETNAME = CLCTL_EXTERNAL_CODE(141,CLUS_ACCESS_READ,CLUS_NO_MODIFY),/*0x00000235*/
- CLCTL_VALIDATE_DIRECTORY = CLCTL_EXTERNAL_CODE(142,CLUS_ACCESS_READ,CLUS_NO_MODIFY),/*0x00000239*/
- CLCTL_BATCH_BLOCK_KEY = CLCTL_EXTERNAL_CODE(143,CLUS_ACCESS_WRITE,CLUS_NO_MODIFY),/*0x0000023e*/
- CLCTL_BATCH_UNBLOCK_KEY = CLCTL_EXTERNAL_CODE(144,CLUS_ACCESS_READ,CLUS_NO_MODIFY),/*0x00000241*/
- CLCTL_FILESERVER_SHARE_ADD = CLCTL_EXTERNAL_CODE(145,CLUS_ACCESS_READ,CLUS_NO_MODIFY),/*0x00400245*/
- CLCTL_FILESERVER_SHARE_DEL = CLCTL_EXTERNAL_CODE(146,CLUS_ACCESS_READ,CLUS_NO_MODIFY),/*0x00400249*/
- CLCTL_FILESERVER_SHARE_MODIFY = CLCTL_EXTERNAL_CODE(147,CLUS_ACCESS_READ,CLUS_NO_MODIFY),/*0x0040024d*/
- CLCTL_FILESERVER_SHARE_REPORT = CLCTL_EXTERNAL_CODE(148,CLUS_ACCESS_READ,CLUS_NO_MODIFY),/*0x00000251*/
- CLCTL_ENABLE_SHARED_VOLUME_DIRECTIO = CLCTL_EXTERNAL_CODE(162,CLUS_ACCESS_WRITE,CLUS_MODIFY),/*0x0040028a*/
- CLCTL_DISABLE_SHARED_VOLUME_DIRECTIO = CLCTL_EXTERNAL_CODE(163,CLUS_ACCESS_WRITE,CLUS_MODIFY),/*0x0040028e*/
- CLCTL_GET_SHARED_VOLUME_ID = CLCTL_EXTERNAL_CODE(164,CLUS_ACCESS_READ,CLUS_NO_MODIFY),/*0x00000291*/
- CLCTL_SET_CSV_MAINTENANCE_MODE = CLCTL_EXTERNAL_CODE(165,CLUS_ACCESS_WRITE,CLUS_MODIFY),/*0x00400296*/
- CLCTL_SET_SHARED_VOLUME_BACKUP_MODE = CLCTL_EXTERNAL_CODE(166,CLUS_ACCESS_WRITE,CLUS_MODIFY),/*0x0040029a,*/
- CLCTL_DELETE = CLCTL_INTERNAL_CODE(1,CLUS_ACCESS_WRITE,CLUS_MODIFY),
- CLCTL_INSTALL_NODE = CLCTL_INTERNAL_CODE(2,CLUS_ACCESS_WRITE,CLUS_MODIFY),
- CLCTL_EVICT_NODE = CLCTL_INTERNAL_CODE(3,CLUS_ACCESS_WRITE,CLUS_MODIFY),
- CLCTL_ADD_DEPENDENCY = CLCTL_INTERNAL_CODE(4,CLUS_ACCESS_WRITE,CLUS_MODIFY),
- CLCTL_REMOVE_DEPENDENCY = CLCTL_INTERNAL_CODE(5,CLUS_ACCESS_WRITE,CLUS_MODIFY),
- CLCTL_ADD_OWNER = CLCTL_INTERNAL_CODE(6,CLUS_ACCESS_WRITE,CLUS_MODIFY),
- CLCTL_REMOVE_OWNER = CLCTL_INTERNAL_CODE(7,CLUS_ACCESS_WRITE,
- CLUS_MODIFY),CLCTL_SET_NAME = CLCTL_INTERNAL_CODE(9,CLUS_ACCESS_WRITE,CLUS_MODIFY),
- CLCTL_CLUSTER_NAME_CHANGED = CLCTL_INTERNAL_CODE(10,CLUS_ACCESS_WRITE,CLUS_MODIFY),
- CLCTL_CLUSTER_VERSION_CHANGED = CLCTL_INTERNAL_CODE(11,CLUS_ACCESS_WRITE,CLUS_MODIFY),
- CLCTL_FIXUP_ON_UPGRADE = CLCTL_INTERNAL_CODE(12,CLUS_ACCESS_WRITE,CLUS_MODIFY),
- CLCTL_STARTING_PHASE1 = CLCTL_INTERNAL_CODE(13,CLUS_ACCESS_WRITE,CLUS_MODIFY),
- CLCTL_STARTING_PHASE2 = CLCTL_INTERNAL_CODE(14,CLUS_ACCESS_WRITE,CLUS_MODIFY),
- CLCTL_HOLD_IO = CLCTL_INTERNAL_CODE(15,CLUS_ACCESS_WRITE,CLUS_MODIFY),
- CLCTL_RESUME_IO = CLCTL_INTERNAL_CODE(16,CLUS_ACCESS_WRITE,CLUS_MODIFY),
- CLCTL_FORCE_QUORUM = CLCTL_INTERNAL_CODE(17,CLUS_ACCESS_WRITE,CLUS_MODIFY),
- CLCTL_INITIALIZE = CLCTL_INTERNAL_CODE(18,CLUS_ACCESS_WRITE,CLUS_MODIFY),
- CLCTL_STATE_CHANGE_REASON = CLCTL_INTERNAL_CODE(19,CLUS_ACCESS_WRITE,CLUS_MODIFY),
- CLCTL_PROVIDER_STATE_CHANGE = CLCTL_INTERNAL_CODE(20,CLUS_ACCESS_WRITE, CLUS_MODIFY),/*0x00500052*/
- CLCTL_LEAVING_GROUP = CLCTL_INTERNAL_CODE(21,CLUS_ACCESS_WRITE, CLUS_MODIFY),/*0x00500056,*/
- CLCTL_JOINING_GROUP = CLCTL_INTERNAL_CODE(22,CLUS_ACCESS_WRITE, CLUS_MODIFY),/*0x0050005a*/
- CLCTL_FSWITNESS_GET_EPOCH_INFO = CLCTL_INTERNAL_CODE(23,CLUS_ACCESS_READ, CLUS_NO_MODIFY),/*0x0010005d*/
- CLCTL_FSWITNESS_SET_EPOCH_INFO = CLCTL_INTERNAL_CODE(24,CLUS_ACCESS_WRITE, CLUS_MODIFY),/*0x00500062*/
- CLCTL_FSWITNESS_RELEASE_LOCK = CLCTL_INTERNAL_CODE(25,CLUS_ACCESS_WRITE, CLUS_MODIFY),/*0x00500066,*/
- CLCTL_NETNAME_CREDS_NOTIFYCAM = CLCTL_INTERNAL_CODE(26,CLUS_ACCESS_WRITE, CLUS_MODIFY),/*0x0050006a*/
- CLCTL_STORAGE_GET_DISK_NUMBER = CLCTL_INTERNAL_CODE(27,CLUS_ACCESS_READ, CLUS_NO_MODIFY) /*0x0010006d */
- } CLCTL_CODES;
- #endif
- #define CLUSCTL_RESOURCE_CODE(Function) (((CLUS_OBJECT_RESOURCE << CLUSCTL_OBJECT_SHIFT) | Function))
- #define CLUSCTL_RESOURCE_TYPE_CODE(Function) (((CLUS_OBJECT_RESOURCE_TYPE << CLUSCTL_OBJECT_SHIFT) | Function))
- #define CLUSCTL_GROUP_CODE(Function) (((CLUS_OBJECT_GROUP << CLUSCTL_OBJECT_SHIFT) | Function))
- #define CLUSCTL_NODE_CODE(Function) (((CLUS_OBJECT_NODE << CLUSCTL_OBJECT_SHIFT) | Function))
- #define CLUSCTL_NETWORK_CODE(Function) (((CLUS_OBJECT_NETWORK << CLUSCTL_OBJECT_SHIFT) | Function))
- #define CLUSCTL_NETINTERFACE_CODE(Function) (((CLUS_OBJECT_NETINTERFACE << CLUSCTL_OBJECT_SHIFT) | Function))
- #define CLUSCTL_CLUSTER_CODE(Function) (((CLUS_OBJECT_CLUSTER << CLUSCTL_OBJECT_SHIFT) | Function))
- #define CLUSCTL_USER_CODE(Function,Object) (((Object) << CLUSCTL_OBJECT_SHIFT) | ((CLCTL_USER_BASE + Function) << CLUSCTL_FUNCTION_SHIFT))
- #define CLUSCTL_GET_CONTROL_FUNCTION(ControlCode) ((ControlCode >> CLUSCTL_ACCESS_SHIFT) & CLUSCTL_CONTROL_CODE_MASK)
- #define CLUSCTL_GET_ACCESS_MODE(ControlCode) ((ControlCode >> CLUSCTL_ACCESS_SHIFT) & CLUSCTL_ACCESS_MODE_MASK)
- #define CLUSCTL_GET_CONTROL_OBJECT(ControlCode) ((ControlCode >> CLUSCTL_OBJECT_SHIFT) & CLUSCTL_OBJECT_MASK)
- #ifndef _CLUSTER_API_TYPES_
- typedef enum CLUSCTL_RESOURCE_CODES {
- CLUSCTL_RESOURCE_UNKNOWN = CLUSCTL_RESOURCE_CODE(CLCTL_UNKNOWN),
- CLUSCTL_RESOURCE_GET_CHARACTERISTICS = CLUSCTL_RESOURCE_CODE(CLCTL_GET_CHARACTERISTICS),
- CLUSCTL_RESOURCE_GET_FLAGS = CLUSCTL_RESOURCE_CODE(CLCTL_GET_FLAGS),
- CLUSCTL_RESOURCE_GET_CLASS_INFO = CLUSCTL_RESOURCE_CODE(CLCTL_GET_CLASS_INFO),
- CLUSCTL_RESOURCE_GET_REQUIRED_DEPENDENCIES = CLUSCTL_RESOURCE_CODE(CLCTL_GET_REQUIRED_DEPENDENCIES),
- CLUSCTL_RESOURCE_GET_NAME = CLUSCTL_RESOURCE_CODE(CLCTL_GET_NAME),
- CLUSCTL_RESOURCE_GET_ID = CLUSCTL_RESOURCE_CODE(CLCTL_GET_ID),
- CLUSCTL_RESOURCE_GET_RESOURCE_TYPE = CLUSCTL_RESOURCE_CODE(CLCTL_GET_RESOURCE_TYPE),
- CLUSCTL_RESOURCE_ENUM_COMMON_PROPERTIES = CLUSCTL_RESOURCE_CODE(CLCTL_ENUM_COMMON_PROPERTIES),
- CLUSCTL_RESOURCE_GET_RO_COMMON_PROPERTIES = CLUSCTL_RESOURCE_CODE(CLCTL_GET_RO_COMMON_PROPERTIES),
- CLUSCTL_RESOURCE_GET_COMMON_PROPERTIES = CLUSCTL_RESOURCE_CODE(CLCTL_GET_COMMON_PROPERTIES),
- CLUSCTL_RESOURCE_SET_COMMON_PROPERTIES = CLUSCTL_RESOURCE_CODE(CLCTL_SET_COMMON_PROPERTIES),
- CLUSCTL_RESOURCE_VALIDATE_COMMON_PROPERTIES = CLUSCTL_RESOURCE_CODE(CLCTL_VALIDATE_COMMON_PROPERTIES),
- CLUSCTL_RESOURCE_GET_COMMON_PROPERTY_FMTS = CLUSCTL_RESOURCE_CODE(CLCTL_GET_COMMON_PROPERTY_FMTS),
- CLUSCTL_RESOURCE_ENUM_PRIVATE_PROPERTIES = CLUSCTL_RESOURCE_CODE(CLCTL_ENUM_PRIVATE_PROPERTIES),
- CLUSCTL_RESOURCE_GET_RO_PRIVATE_PROPERTIES = CLUSCTL_RESOURCE_CODE(CLCTL_GET_RO_PRIVATE_PROPERTIES),
- CLUSCTL_RESOURCE_GET_PRIVATE_PROPERTIES = CLUSCTL_RESOURCE_CODE(CLCTL_GET_PRIVATE_PROPERTIES),
- CLUSCTL_RESOURCE_SET_PRIVATE_PROPERTIES = CLUSCTL_RESOURCE_CODE(CLCTL_SET_PRIVATE_PROPERTIES),
- CLUSCTL_RESOURCE_VALIDATE_PRIVATE_PROPERTIES = CLUSCTL_RESOURCE_CODE(CLCTL_VALIDATE_PRIVATE_PROPERTIES),
- CLUSCTL_RESOURCE_GET_PRIVATE_PROPERTY_FMTS = CLUSCTL_RESOURCE_CODE(CLCTL_GET_PRIVATE_PROPERTY_FMTS),
- CLUSCTL_RESOURCE_ADD_REGISTRY_CHECKPOINT = CLUSCTL_RESOURCE_CODE(CLCTL_ADD_REGISTRY_CHECKPOINT),
- CLUSCTL_RESOURCE_DELETE_REGISTRY_CHECKPOINT = CLUSCTL_RESOURCE_CODE(CLCTL_DELETE_REGISTRY_CHECKPOINT),
- CLUSCTL_RESOURCE_GET_REGISTRY_CHECKPOINTS = CLUSCTL_RESOURCE_CODE(CLCTL_GET_REGISTRY_CHECKPOINTS),
- CLUSCTL_RESOURCE_ADD_CRYPTO_CHECKPOINT = CLUSCTL_RESOURCE_CODE(CLCTL_ADD_CRYPTO_CHECKPOINT),
- CLUSCTL_RESOURCE_DELETE_CRYPTO_CHECKPOINT = CLUSCTL_RESOURCE_CODE(CLCTL_DELETE_CRYPTO_CHECKPOINT),
- CLUSCTL_RESOURCE_GET_CRYPTO_CHECKPOINTS = CLUSCTL_RESOURCE_CODE(CLCTL_GET_CRYPTO_CHECKPOINTS),
- CLUSCTL_RESOURCE_GET_LOADBAL_PROCESS_LIST = CLUSCTL_RESOURCE_CODE(CLCTL_GET_LOADBAL_PROCESS_LIST),
- CLUSCTL_RESOURCE_GET_NETWORK_NAME = CLUSCTL_RESOURCE_CODE(CLCTL_GET_NETWORK_NAME),
- CLUSCTL_RESOURCE_NETNAME_GET_VIRTUAL_SERVER_TOKEN = CLUSCTL_RESOURCE_CODE(CLCTL_NETNAME_GET_VIRTUAL_SERVER_TOKEN),
- CLUSCTL_RESOURCE_NETNAME_REGISTER_DNS_RECORDS = CLUSCTL_RESOURCE_CODE(CLCTL_NETNAME_REGISTER_DNS_RECORDS),
- CLUSCTL_RESOURCE_STORAGE_GET_DISK_INFO = CLUSCTL_RESOURCE_CODE(CLCTL_STORAGE_GET_DISK_INFO),
- CLUSCTL_RESOURCE_STORAGE_IS_PATH_VALID = CLUSCTL_RESOURCE_CODE(CLCTL_STORAGE_IS_PATH_VALID),
- CLUSCTL_RESOURCE_QUERY_DELETE = CLUSCTL_RESOURCE_CODE(CLCTL_QUERY_DELETE),
- CLUSCTL_RESOURCE_UPGRADE_DLL = CLUSCTL_RESOURCE_CODE(CLCTL_RESOURCE_UPGRADE_DLL),
- CLUSCTL_RESOURCE_ADD_REGISTRY_CHECKPOINT_64BIT = CLUSCTL_RESOURCE_CODE(CLCTL_ADD_REGISTRY_CHECKPOINT_64BIT),
- CLUSCTL_RESOURCE_ADD_REGISTRY_CHECKPOINT_32BIT = CLUSCTL_RESOURCE_CODE(CLCTL_ADD_REGISTRY_CHECKPOINT_32BIT),
- CLUSCTL_RESOURCE_QUERY_MAINTENANCE_MODE = CLUSCTL_RESOURCE_CODE(CLCTL_QUERY_MAINTENANCE_MODE),
- CLUSCTL_RESOURCE_SET_MAINTENANCE_MODE = CLUSCTL_RESOURCE_CODE(CLCTL_SET_MAINTENANCE_MODE),
- CLUSCTL_RESOURCE_STORAGE_SET_DRIVELETTER = CLUSCTL_RESOURCE_CODE(CLCTL_STORAGE_SET_DRIVELETTER),/*0x014001ea*/
- CLUSCTL_RESOURCE_STORAGE_GET_DISK_INFO_EX = CLUSCTL_RESOURCE_CODE(CLCTL_STORAGE_GET_DISK_INFO_EX),/*0x010001f1*/
- CLUSCTL_RESOURCE_FILESERVER_SHARE_ADD = CLUSCTL_RESOURCE_CODE(CLCTL_FILESERVER_SHARE_ADD),/*0x01400245*/
- CLUSCTL_RESOURCE_FILESERVER_SHARE_DEL = CLUSCTL_RESOURCE_CODE(CLCTL_FILESERVER_SHARE_DEL),/*0x01400249*/
- CLUSCTL_RESOURCE_FILESERVER_SHARE_MODIFY = CLUSCTL_RESOURCE_CODE(CLCTL_FILESERVER_SHARE_MODIFY),/*0x0140024d*/
- CLUSCTL_RESOURCE_FILESERVER_SHARE_REPORT = CLUSCTL_RESOURCE_CODE(CLCTL_FILESERVER_SHARE_REPORT),/*0x01000251*/
- CLUSCTL_RESOURCE_STORAGE_GET_MOUNTPOINTS = CLUSCTL_RESOURCE_CODE(CLCTL_STORAGE_GET_MOUNTPOINTS),/*0x01000211*/
- CLUSCTL_RESOURCE_STORAGE_CLUSTER_DISK = CLUSCTL_RESOURCE_CODE(CLCTL_STORAGE_CLUSTER_DISK),/*0x01c00212*/
- CLUSCTL_RESOURCE_STORAGE_GET_DIRTY = CLUSCTL_RESOURCE_CODE(CLCTL_STORAGE_GET_DIRTY),/*0x01000219*/
- 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),/*0x00400296*/
- CLUSCTL_RESOURCE_ENABLE_SHARED_VOLUME_DIRECTIO = CLUSCTL_RESOURCE_CODE(CLCTL_ENABLE_SHARED_VOLUME_DIRECTIO),/*0x0140028a*/
- CLUSCTL_RESOURCE_DISABLE_SHARED_VOLUME_DIRECTIO = CLUSCTL_RESOURCE_CODE(CLCTL_DISABLE_SHARED_VOLUME_DIRECTIO),/*0x0140028e*/
- CLUSCTL_RESOURCE_SET_SHARED_VOLUME_BACKUP_MODE = CLUSCTL_RESOURCE_CODE(CLCTL_SET_SHARED_VOLUME_BACKUP_MODE),/*0x0140029a*/
- CLUSCTL_RESOURCE_DELETE = CLUSCTL_RESOURCE_CODE(CLCTL_DELETE),
- CLUSCTL_RESOURCE_INSTALL_NODE = CLUSCTL_RESOURCE_CODE(CLCTL_INSTALL_NODE),
- CLUSCTL_RESOURCE_EVICT_NODE = CLUSCTL_RESOURCE_CODE(CLCTL_EVICT_NODE),
- CLUSCTL_RESOURCE_ADD_DEPENDENCY = CLUSCTL_RESOURCE_CODE(CLCTL_ADD_DEPENDENCY),
- CLUSCTL_RESOURCE_REMOVE_DEPENDENCY = CLUSCTL_RESOURCE_CODE(CLCTL_REMOVE_DEPENDENCY),
- CLUSCTL_RESOURCE_ADD_OWNER = CLUSCTL_RESOURCE_CODE(CLCTL_ADD_OWNER),
- CLUSCTL_RESOURCE_REMOVE_OWNER = CLUSCTL_RESOURCE_CODE(CLCTL_REMOVE_OWNER),
- CLUSCTL_RESOURCE_SET_NAME = CLUSCTL_RESOURCE_CODE(CLCTL_SET_NAME),
- CLUSCTL_RESOURCE_CLUSTER_NAME_CHANGED = CLUSCTL_RESOURCE_CODE(CLCTL_CLUSTER_NAME_CHANGED),
- CLUSCTL_RESOURCE_CLUSTER_VERSION_CHANGED = CLUSCTL_RESOURCE_CODE(CLCTL_CLUSTER_VERSION_CHANGED),
- CLUSCTL_RESOURCE_FORCE_QUORUM = CLUSCTL_RESOURCE_CODE(CLCTL_FORCE_QUORUM),
- CLUSCTL_RESOURCE_INITIALIZE = CLUSCTL_RESOURCE_CODE(CLCTL_INITIALIZE),
- CLUSCTL_RESOURCE_STATE_CHANGE_REASON = CLUSCTL_RESOURCE_CODE(CLCTL_STATE_CHANGE_REASON),
- CLUSCTL_RESOURCE_PROVIDER_STATE_CHANGE = CLUSCTL_RESOURCE_CODE(CLCTL_PROVIDER_STATE_CHANGE),/*0x01500052*/
- CLUSCTL_RESOURCE_LEAVING_GROUP = CLUSCTL_RESOURCE_CODE(CLCTL_LEAVING_GROUP),/*0x01500056*/
- CLUSCTL_RESOURCE_JOINING_GROUP = CLUSCTL_RESOURCE_CODE(CLCTL_JOINING_GROUP),/*0x0150005a*/
- CLUSCTL_RESOURCE_FSWITNESS_GET_EPOCH_INFO = CLUSCTL_RESOURCE_CODE(CLCTL_FSWITNESS_GET_EPOCH_INFO),/*0x0110005d*/
- CLUSCTL_RESOURCE_FSWITNESS_SET_EPOCH_INFO = CLUSCTL_RESOURCE_CODE(CLCTL_FSWITNESS_SET_EPOCH_INFO),/*0x01500062*/
- CLUSCTL_RESOURCE_FSWITNESS_RELEASE_LOCK = CLUSCTL_RESOURCE_CODE(CLCTL_FSWITNESS_RELEASE_LOCK),/*0x01500066*/
- CLUSCTL_RESOURCE_NETNAME_CREDS_UPDATED = CLUSCTL_RESOURCE_CODE(CLCTL_NETNAME_CREDS_UPDATED)/*0x01c0018a */
- } CLUSCTL_RESOURCE_CODES;
- typedef enum CLUSCTL_RESOURCE_TYPE_CODES {
- CLUSCTL_RESOURCE_TYPE_UNKNOWN = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_UNKNOWN),
- CLUSCTL_RESOURCE_TYPE_GET_CHARACTERISTICS = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_GET_CHARACTERISTICS),
- CLUSCTL_RESOURCE_TYPE_GET_FLAGS = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_GET_FLAGS),
- CLUSCTL_RESOURCE_TYPE_GET_CLASS_INFO = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_GET_CLASS_INFO),
- CLUSCTL_RESOURCE_TYPE_GET_REQUIRED_DEPENDENCIES = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_GET_REQUIRED_DEPENDENCIES),
- CLUSCTL_RESOURCE_TYPE_GET_ARB_TIMEOUT = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_GET_ARB_TIMEOUT),
- CLUSCTL_RESOURCE_TYPE_ENUM_COMMON_PROPERTIES = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_ENUM_COMMON_PROPERTIES),
- CLUSCTL_RESOURCE_TYPE_GET_RO_COMMON_PROPERTIES = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_GET_RO_COMMON_PROPERTIES),
- CLUSCTL_RESOURCE_TYPE_GET_COMMON_PROPERTIES = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_GET_COMMON_PROPERTIES),
- CLUSCTL_RESOURCE_TYPE_VALIDATE_COMMON_PROPERTIES = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_VALIDATE_COMMON_PROPERTIES),
- CLUSCTL_RESOURCE_TYPE_SET_COMMON_PROPERTIES = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_SET_COMMON_PROPERTIES),
- CLUSCTL_RESOURCE_TYPE_GET_COMMON_PROPERTY_FMTS = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_GET_COMMON_PROPERTY_FMTS),
- CLUSCTL_RESOURCE_TYPE_GET_COMMON_RESOURCE_PROPERTY_FMTS = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_GET_COMMON_RESOURCE_PROPERTY_FMTS),
- CLUSCTL_RESOURCE_TYPE_ENUM_PRIVATE_PROPERTIES = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_ENUM_PRIVATE_PROPERTIES),
- CLUSCTL_RESOURCE_TYPE_GET_RO_PRIVATE_PROPERTIES = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_GET_RO_PRIVATE_PROPERTIES),
- CLUSCTL_RESOURCE_TYPE_GET_PRIVATE_PROPERTIES = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_GET_PRIVATE_PROPERTIES),
- CLUSCTL_RESOURCE_TYPE_SET_PRIVATE_PROPERTIES = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_SET_PRIVATE_PROPERTIES),
- CLUSCTL_RESOURCE_TYPE_VALIDATE_PRIVATE_PROPERTIES = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_VALIDATE_PRIVATE_PROPERTIES),
- CLUSCTL_RESOURCE_TYPE_GET_PRIVATE_PROPERTY_FMTS = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_GET_PRIVATE_PROPERTY_FMTS),
- CLUSCTL_RESOURCE_TYPE_GET_PRIVATE_RESOURCE_PROPERTY_FMTS = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_GET_PRIVATE_RESOURCE_PROPERTY_FMTS),
- CLUSCTL_RESOURCE_TYPE_GET_REGISTRY_CHECKPOINTS = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_GET_REGISTRY_CHECKPOINTS),
- CLUSCTL_RESOURCE_TYPE_GET_CRYPTO_CHECKPOINTS = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_GET_CRYPTO_CHECKPOINTS),
- CLUSCTL_RESOURCE_TYPE_STORAGE_GET_AVAILABLE_DISKS = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_STORAGE_GET_AVAILABLE_DISKS),
- CLUSCTL_RESOURCE_TYPE_QUERY_DELETE = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_QUERY_DELETE),
- CLUSCTL_RESOURCE_TYPE_INSTALL_NODE = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_INSTALL_NODE),
- CLUSCTL_RESOURCE_TYPE_EVICT_NODE = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_EVICT_NODE),
- CLUSCTL_RESOURCE_TYPE_CLUSTER_VERSION_CHANGED = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_CLUSTER_VERSION_CHANGED),
- CLUSCTL_RESOURCE_TYPE_FIXUP_ON_UPGRADE = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_FIXUP_ON_UPGRADE),
- CLUSCTL_RESOURCE_TYPE_STARTING_PHASE1 = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_STARTING_PHASE1),
- CLUSCTL_RESOURCE_TYPE_STARTING_PHASE2 = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_STARTING_PHASE2),
- CLUSCTL_RESOURCE_TYPE_HOLD_IO = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_HOLD_IO),
- CLUSCTL_RESOURCE_TYPE_RESUME_IO = CLUSCTL_RESOURCE_TYPE_CODE(CLCTL_RESUME_IO)
- } CLUSCTL_RESOURCE_TYPE_CODES;
- typedef enum CLUSPROP_IPADDR_ENABLENETBIOS {
- CLUSPROP_IPADDR_ENABLENETBIOS_DISABLED = 0, // 0x0
- CLUSPROP_IPADDR_ENABLENETBIOS_ENABLED,
- CLUSPROP_IPADDR_ENABLENETBIOS_TRACK_NIC
- } CLUSPROP_IPADDR_ENABLENETBIOS;
- typedef enum CLUSCTL_GROUP_CODES {
- CLUSCTL_GROUP_UNKNOWN = CLUSCTL_GROUP_CODE(CLCTL_UNKNOWN),
- CLUSCTL_GROUP_GET_CHARACTERISTICS = CLUSCTL_GROUP_CODE(CLCTL_GET_CHARACTERISTICS),
- CLUSCTL_GROUP_GET_FLAGS = CLUSCTL_GROUP_CODE(CLCTL_GET_FLAGS),
- CLUSCTL_GROUP_GET_NAME = CLUSCTL_GROUP_CODE(CLCTL_GET_NAME),
- CLUSCTL_GROUP_GET_ID = CLUSCTL_GROUP_CODE(CLCTL_GET_ID),
- CLUSCTL_GROUP_ENUM_COMMON_PROPERTIES = CLUSCTL_GROUP_CODE(CLCTL_ENUM_COMMON_PROPERTIES),
- CLUSCTL_GROUP_GET_RO_COMMON_PROPERTIES = CLUSCTL_GROUP_CODE(CLCTL_GET_RO_COMMON_PROPERTIES),
- CLUSCTL_GROUP_GET_COMMON_PROPERTIES = CLUSCTL_GROUP_CODE(CLCTL_GET_COMMON_PROPERTIES),
- CLUSCTL_GROUP_SET_COMMON_PROPERTIES = CLUSCTL_GROUP_CODE(CLCTL_SET_COMMON_PROPERTIES),
- CLUSCTL_GROUP_VALIDATE_COMMON_PROPERTIES = CLUSCTL_GROUP_CODE(CLCTL_VALIDATE_COMMON_PROPERTIES),
- CLUSCTL_GROUP_ENUM_PRIVATE_PROPERTIES = CLUSCTL_GROUP_CODE(CLCTL_ENUM_PRIVATE_PROPERTIES),
- CLUSCTL_GROUP_GET_RO_PRIVATE_PROPERTIES = CLUSCTL_GROUP_CODE(CLCTL_GET_RO_PRIVATE_PROPERTIES),
- CLUSCTL_GROUP_GET_PRIVATE_PROPERTIES = CLUSCTL_GROUP_CODE(CLCTL_GET_PRIVATE_PROPERTIES),
- CLUSCTL_GROUP_SET_PRIVATE_PROPERTIES = CLUSCTL_GROUP_CODE(CLCTL_SET_PRIVATE_PROPERTIES),
- CLUSCTL_GROUP_VALIDATE_PRIVATE_PROPERTIES = CLUSCTL_GROUP_CODE(CLCTL_VALIDATE_PRIVATE_PROPERTIES),
- CLUSCTL_GROUP_QUERY_DELETE = CLUSCTL_GROUP_CODE(CLCTL_QUERY_DELETE),
- CLUSCTL_GROUP_GET_COMMON_PROPERTY_FMTS = CLUSCTL_GROUP_CODE(CLCTL_GET_COMMON_PROPERTY_FMTS),
- CLUSCTL_GROUP_GET_PRIVATE_PROPERTY_FMTS = CLUSCTL_GROUP_CODE(CLCTL_GET_PRIVATE_PROPERTY_FMTS)
- } CLUSCTL_GROUP_CODES;
- typedef enum CLUSCTL_NODE_CODES {
- CLUSCTL_NODE_UNKNOWN = CLUSCTL_NODE_CODE(CLCTL_UNKNOWN),
- CLUSCTL_NODE_GET_CHARACTERISTICS = CLUSCTL_NODE_CODE(CLCTL_GET_CHARACTERISTICS),
- CLUSCTL_NODE_GET_FLAGS = CLUSCTL_NODE_CODE(CLCTL_GET_FLAGS),
- CLUSCTL_NODE_GET_NAME = CLUSCTL_NODE_CODE(CLCTL_GET_NAME),
- CLUSCTL_NODE_GET_ID = CLUSCTL_NODE_CODE(CLCTL_GET_ID),
- CLUSCTL_NODE_ENUM_COMMON_PROPERTIES = CLUSCTL_NODE_CODE(CLCTL_ENUM_COMMON_PROPERTIES),
- CLUSCTL_NODE_GET_RO_COMMON_PROPERTIES = CLUSCTL_NODE_CODE(CLCTL_GET_RO_COMMON_PROPERTIES),
- CLUSCTL_NODE_GET_COMMON_PROPERTIES = CLUSCTL_NODE_CODE(CLCTL_GET_COMMON_PROPERTIES),
- CLUSCTL_NODE_SET_COMMON_PROPERTIES = CLUSCTL_NODE_CODE(CLCTL_SET_COMMON_PROPERTIES),
- CLUSCTL_NODE_VALIDATE_COMMON_PROPERTIES = CLUSCTL_NODE_CODE(CLCTL_VALIDATE_COMMON_PROPERTIES),
- CLUSCTL_NODE_ENUM_PRIVATE_PROPERTIES = CLUSCTL_NODE_CODE(CLCTL_ENUM_PRIVATE_PROPERTIES),
- CLUSCTL_NODE_GET_RO_PRIVATE_PROPERTIES = CLUSCTL_NODE_CODE(CLCTL_GET_RO_PRIVATE_PROPERTIES),
- CLUSCTL_NODE_GET_PRIVATE_PROPERTIES = CLUSCTL_NODE_CODE(CLCTL_GET_PRIVATE_PROPERTIES),
- CLUSCTL_NODE_SET_PRIVATE_PROPERTIES = CLUSCTL_NODE_CODE(CLCTL_SET_PRIVATE_PROPERTIES),
- CLUSCTL_NODE_VALIDATE_PRIVATE_PROPERTIES = CLUSCTL_NODE_CODE(CLCTL_VALIDATE_PRIVATE_PROPERTIES),
- CLUSCTL_NODE_GET_COMMON_PROPERTY_FMTS = CLUSCTL_NODE_CODE(CLCTL_GET_COMMON_PROPERTY_FMTS),
- CLUSCTL_NODE_GET_PRIVATE_PROPERTY_FMTS = CLUSCTL_NODE_CODE(CLCTL_GET_PRIVATE_PROPERTY_FMTS),
- CLUSCTL_NODE_GET_CLUSTER_SERVICE_ACCOUNT_NAME = CLUSCTL_NODE_CODE(CLCTL_GET_CLUSTER_SERVICE_ACCOUNT_NAME)
- } CLUSCTL_NODE_CODES;
- typedef enum CLUSCTL_NETWORK_CODES {
- CLUSCTL_NETWORK_UNKNOWN = CLUSCTL_NETWORK_CODE(CLCTL_UNKNOWN),
- CLUSCTL_NETWORK_GET_CHARACTERISTICS = CLUSCTL_NETWORK_CODE(CLCTL_GET_CHARACTERISTICS),
- CLUSCTL_NETWORK_GET_FLAGS = CLUSCTL_NETWORK_CODE(CLCTL_GET_FLAGS),
- CLUSCTL_NETWORK_GET_NAME = CLUSCTL_NETWORK_CODE(CLCTL_GET_NAME),
- CLUSCTL_NETWORK_GET_ID = CLUSCTL_NETWORK_CODE(CLCTL_GET_ID),
- CLUSCTL_NETWORK_ENUM_COMMON_PROPERTIES = CLUSCTL_NETWORK_CODE(CLCTL_ENUM_COMMON_PROPERTIES),
- CLUSCTL_NETWORK_GET_RO_COMMON_PROPERTIES = CLUSCTL_NETWORK_CODE(CLCTL_GET_RO_COMMON_PROPERTIES),
- CLUSCTL_NETWORK_GET_COMMON_PROPERTIES = CLUSCTL_NETWORK_CODE(CLCTL_GET_COMMON_PROPERTIES),
- CLUSCTL_NETWORK_SET_COMMON_PROPERTIES = CLUSCTL_NETWORK_CODE(CLCTL_SET_COMMON_PROPERTIES),
- CLUSCTL_NETWORK_VALIDATE_COMMON_PROPERTIES = CLUSCTL_NETWORK_CODE(CLCTL_VALIDATE_COMMON_PROPERTIES),
- CLUSCTL_NETWORK_ENUM_PRIVATE_PROPERTIES = CLUSCTL_NETWORK_CODE(CLCTL_ENUM_PRIVATE_PROPERTIES),
- CLUSCTL_NETWORK_GET_RO_PRIVATE_PROPERTIES = CLUSCTL_NETWORK_CODE(CLCTL_GET_RO_PRIVATE_PROPERTIES),
- CLUSCTL_NETWORK_GET_PRIVATE_PROPERTIES = CLUSCTL_NETWORK_CODE(CLCTL_GET_PRIVATE_PROPERTIES),
- CLUSCTL_NETWORK_SET_PRIVATE_PROPERTIES = CLUSCTL_NETWORK_CODE(CLCTL_SET_PRIVATE_PROPERTIES),
- CLUSCTL_NETWORK_VALIDATE_PRIVATE_PROPERTIES = CLUSCTL_NETWORK_CODE(CLCTL_VALIDATE_PRIVATE_PROPERTIES),
- CLUSCTL_NETWORK_GET_COMMON_PROPERTY_FMTS = CLUSCTL_NETWORK_CODE(CLCTL_GET_COMMON_PROPERTY_FMTS),
- CLUSCTL_NETWORK_GET_PRIVATE_PROPERTY_FMTS = CLUSCTL_NETWORK_CODE(CLCTL_GET_PRIVATE_PROPERTY_FMTS)
- } CLUSCTL_NETWORK_CODES;
- typedef enum CLUSCTL_NETINTERFACE_CODES {
- CLUSCTL_NETINTERFACE_UNKNOWN = CLUSCTL_NETINTERFACE_CODE(CLCTL_UNKNOWN),
- CLUSCTL_NETINTERFACE_GET_CHARACTERISTICS = CLUSCTL_NETINTERFACE_CODE(CLCTL_GET_CHARACTERISTICS),
- CLUSCTL_NETINTERFACE_GET_FLAGS = CLUSCTL_NETINTERFACE_CODE(CLCTL_GET_FLAGS),
- CLUSCTL_NETINTERFACE_GET_NAME = CLUSCTL_NETINTERFACE_CODE(CLCTL_GET_NAME),
- CLUSCTL_NETINTERFACE_GET_ID = CLUSCTL_NETINTERFACE_CODE(CLCTL_GET_ID),
- CLUSCTL_NETINTERFACE_GET_NODE = CLUSCTL_NETINTERFACE_CODE(CLCTL_GET_NODE),
- CLUSCTL_NETINTERFACE_GET_NETWORK = CLUSCTL_NETINTERFACE_CODE(CLCTL_GET_NETWORK),
- CLUSCTL_NETINTERFACE_ENUM_COMMON_PROPERTIES = CLUSCTL_NETINTERFACE_CODE(CLCTL_ENUM_COMMON_PROPERTIES),
- CLUSCTL_NETINTERFACE_GET_RO_COMMON_PROPERTIES = CLUSCTL_NETINTERFACE_CODE(CLCTL_GET_RO_COMMON_PROPERTIES),
- CLUSCTL_NETINTERFACE_GET_COMMON_PROPERTIES = CLUSCTL_NETINTERFACE_CODE(CLCTL_GET_COMMON_PROPERTIES),
- CLUSCTL_NETINTERFACE_SET_COMMON_PROPERTIES = CLUSCTL_NETINTERFACE_CODE(CLCTL_SET_COMMON_PROPERTIES),
- CLUSCTL_NETINTERFACE_VALIDATE_COMMON_PROPERTIES = CLUSCTL_NETINTERFACE_CODE(CLCTL_VALIDATE_COMMON_PROPERTIES),
- CLUSCTL_NETINTERFACE_ENUM_PRIVATE_PROPERTIES = CLUSCTL_NETINTERFACE_CODE(CLCTL_ENUM_PRIVATE_PROPERTIES),
- CLUSCTL_NETINTERFACE_GET_RO_PRIVATE_PROPERTIES = CLUSCTL_NETINTERFACE_CODE(CLCTL_GET_RO_PRIVATE_PROPERTIES),
- CLUSCTL_NETINTERFACE_GET_PRIVATE_PROPERTIES = CLUSCTL_NETINTERFACE_CODE(CLCTL_GET_PRIVATE_PROPERTIES),
- CLUSCTL_NETINTERFACE_SET_PRIVATE_PROPERTIES = CLUSCTL_NETINTERFACE_CODE(CLCTL_SET_PRIVATE_PROPERTIES),
- CLUSCTL_NETINTERFACE_VALIDATE_PRIVATE_PROPERTIES = CLUSCTL_NETINTERFACE_CODE(CLCTL_VALIDATE_PRIVATE_PROPERTIES),
- CLUSCTL_NETINTERFACE_GET_COMMON_PROPERTY_FMTS = CLUSCTL_NETINTERFACE_CODE(CLCTL_GET_COMMON_PROPERTY_FMTS),
- CLUSCTL_NETINTERFACE_GET_PRIVATE_PROPERTY_FMTS = CLUSCTL_NETINTERFACE_CODE(CLCTL_GET_PRIVATE_PROPERTY_FMTS)
- } CLUSCTL_NETINTERFACE_CODES;
- typedef enum CLUSCTL_CLUSTER_CODES {
- CLUSCTL_CLUSTER_UNKNOWN = CLUSCTL_CLUSTER_CODE(CLCTL_UNKNOWN),
- CLUSCTL_CLUSTER_GET_FQDN = CLUSCTL_CLUSTER_CODE(CLCTL_GET_FQDN),
- CLUSCTL_CLUSTER_ENUM_COMMON_PROPERTIES = CLUSCTL_CLUSTER_CODE(CLCTL_ENUM_COMMON_PROPERTIES),
- CLUSCTL_CLUSTER_GET_RO_COMMON_PROPERTIES = CLUSCTL_CLUSTER_CODE(CLCTL_GET_RO_COMMON_PROPERTIES),
- CLUSCTL_CLUSTER_GET_COMMON_PROPERTIES = CLUSCTL_CLUSTER_CODE(CLCTL_GET_COMMON_PROPERTIES),
- CLUSCTL_CLUSTER_SET_COMMON_PROPERTIES = CLUSCTL_CLUSTER_CODE(CLCTL_SET_COMMON_PROPERTIES),
- CLUSCTL_CLUSTER_VALIDATE_COMMON_PROPERTIES = CLUSCTL_CLUSTER_CODE(CLCTL_VALIDATE_COMMON_PROPERTIES),
- CLUSCTL_CLUSTER_ENUM_PRIVATE_PROPERTIES = CLUSCTL_CLUSTER_CODE(CLCTL_ENUM_PRIVATE_PROPERTIES),
- CLUSCTL_CLUSTER_GET_RO_PRIVATE_PROPERTIES = CLUSCTL_CLUSTER_CODE(CLCTL_GET_RO_PRIVATE_PROPERTIES),
- CLUSCTL_CLUSTER_GET_PRIVATE_PROPERTIES = CLUSCTL_CLUSTER_CODE(CLCTL_GET_PRIVATE_PROPERTIES),
- CLUSCTL_CLUSTER_SET_PRIVATE_PROPERTIES = CLUSCTL_CLUSTER_CODE(CLCTL_SET_PRIVATE_PROPERTIES),
- CLUSCTL_CLUSTER_VALIDATE_PRIVATE_PROPERTIES = CLUSCTL_CLUSTER_CODE(CLCTL_VALIDATE_PRIVATE_PROPERTIES),
- CLUSCTL_CLUSTER_GET_COMMON_PROPERTY_FMTS = CLUSCTL_CLUSTER_CODE(CLCTL_GET_COMMON_PROPERTY_FMTS),
- CLUSCTL_CLUSTER_GET_PRIVATE_PROPERTY_FMTS = CLUSCTL_CLUSTER_CODE(CLCTL_GET_PRIVATE_PROPERTY_FMTS),
- CLUSCTL_CLUSTER_CHECK_VOTER_EVICT = CLUSCTL_CLUSTER_CODE(CLCTL_CHECK_VOTER_EVICT),/*0x07000045*/
- CLUSCTL_CLUSTER_CHECK_VOTER_DOWN = CLUSCTL_CLUSTER_CODE(CLCTL_CHECK_VOTER_DOWN),/*0x07000049*/
- CLUSCTL_CLUSTER_SHUTDOWN = CLUSCTL_CLUSTER_CODE(CLCTL_SHUTDOWN),/*0x0700004d*/
- CLUSCTL_CLUSTER_BATCH_BLOCK_KEY = CLUSCTL_CLUSTER_CODE(CLCTL_BATCH_BLOCK_KEY),/*0x0700023e*/
- CLUSCTL_CLUSTER_BATCH_UNBLOCK_KEY = CLUSCTL_CLUSTER_CODE(CLCTL_BATCH_UNBLOCK_KEY),/*0x07000241*/
- CLUSCTL_CLUSTER_GET_SHARED_VOLUME_ID = CLUSCTL_CLUSTER_CODE(CLCTL_GET_SHARED_VOLUME_ID),/*0x07000291*/
- } CLUSCTL_CLUSTER_CODES;
- typedef enum CLUSTER_RESOURCE_CLASS {
- CLUS_RESCLASS_UNKNOWN = 0,CLUS_RESCLASS_STORAGE,CLUS_RESCLASS_USER = 32768
- } CLUSTER_RESOURCE_CLASS;
- typedef enum CLUS_RESSUBCLASS {
- CLUS_RESSUBCLASS_SHARED = 0x80000000
- } CLUS_RESSUBCLASS;
- typedef enum CLUS_CHARACTERISTICS {
- CLUS_CHAR_UNKNOWN = 0x00000000,CLUS_CHAR_QUORUM = 0x00000001,CLUS_CHAR_DELETE_REQUIRES_ALL_NODES = 0x00000002,CLUS_CHAR_LOCAL_QUORUM = 0x00000004,
- CLUS_CHAR_LOCAL_QUORUM_DEBUG = 0x00000008,CLUS_CHAR_REQUIRES_STATE_CHANGE_REASON = 0x00000010,
- CLUS_CHAR_BROADCAST_DELETE = 0x00000020,
- CLUS_CHAR_SINGLE_CLUSTER_INSTANCE = 0x00000040,
- CLUS_CHAR_SINGLE_GROUP_INSTANCE = 0x00000080
- } CLUS_CHARACTERISTICS;
- typedef enum CLUS_FLAGS {
- CLUS_FLAG_CORE = 0x00000001
- } CLUS_FLAGS;
- typedef enum CLUS_RESSUBCLASS_NETWORK {
- CLUS_RESSUBCLASS_NETWORK_INTERNET_PROTOCOL = 0x80000000
- } CLUS_RESSUBCLASS_NETWORK;
- typedef enum CLUS_RESSUBCLASS_STORAGE {
- CLUS_RESSUBCLASS_STORAGE_SHARED_BUS = 0x80000000
- } CLUS_RESSUBCLASS_STORAGE;
- typedef union CLUSPROP_SYNTAX {
- DWORD dw;
- __C89_NAMELESS struct {
- WORD wFormat;
- WORD wType;
- };
- } CLUSPROP_SYNTAX,*PCLUSPROP_SYNTAX;
- typedef struct CLUSPROP_VALUE {
- CLUSPROP_SYNTAX Syntax;
- DWORD cbLength;
- } CLUSPROP_VALUE,*PCLUSPROP_VALUE;
- typedef struct CLUSPROP_BINARY
- #ifdef __cplusplus
- : public CLUSPROP_VALUE
- #endif
- {
- #ifndef __cplusplus
- CLUSPROP_VALUE;
- #endif
- BYTE rgb[1];
- } CLUSPROP_BINARY,*PCLUSPROP_BINARY;
- typedef struct CLUSPROP_WORD
- #ifdef __cplusplus
- : public CLUSPROP_VALUE
- #endif
- {
- #ifndef __cplusplus
- CLUSPROP_VALUE;
- #endif
- WORD w;
- } CLUSPROP_WORD,*PCLUSPROP_WORD;
- typedef struct CLUSPROP_DWORD
- #ifdef __cplusplus
- : public CLUSPROP_VALUE
- #endif
- {
- #ifndef __cplusplus
- CLUSPROP_VALUE;
- #endif
- DWORD dw;
- } CLUSPROP_DWORD,*PCLUSPROP_DWORD;
- typedef struct CLUSPROP_LONG
- #ifdef __cplusplus
- : public CLUSPROP_VALUE
- #endif
- {
- #ifndef __cplusplus
- CLUSPROP_VALUE;
- #endif
- LONG l;
- } CLUSPROP_LONG,*PCLUSPROP_LONG;
- typedef struct CLUSPROP_SZ
- #ifdef __cplusplus
- : public CLUSPROP_VALUE
- #endif
- {
- #ifndef __cplusplus
- CLUSPROP_VALUE;
- #endif
- WCHAR sz[1];
- } CLUSPROP_SZ,*PCLUSPROP_SZ;
- typedef CLUSPROP_SZ CLUSPROP_MULTI_SZ,*PCLUSPROP_MULTI_SZ;
- typedef CLUSPROP_SZ CLUSPROP_PROPERTY_NAME,*PCLUSPROP_PROPERTY_NAME;
- typedef struct CLUSPROP_ULARGE_INTEGER
- #ifdef __cplusplus
- : public CLUSPROP_VALUE
- #endif
- {
- #ifndef __cplusplus
- CLUSPROP_VALUE;
- #endif
- ULARGE_INTEGER li;
- } CLUSPROP_ULARGE_INTEGER,*PCLUSPROP_ULARGE_INTEGER;
- typedef struct CLUSPROP_LARGE_INTEGER
- #ifdef __cplusplus
- : public CLUSPROP_VALUE
- #endif
- {
- #ifndef __cplusplus
- CLUSPROP_VALUE;
- #endif
- LARGE_INTEGER li;
- } CLUSPROP_LARGE_INTEGER,*PCLUSPROP_LARGE_INTEGER;
- typedef struct CLUSPROP_SECURITY_DESCRIPTOR
- #ifdef __cplusplus
- : public CLUSPROP_VALUE
- #endif
- {
- #ifndef __cplusplus
- CLUSPROP_VALUE;
- #endif
- __C89_NAMELESS union {
- SECURITY_DESCRIPTOR_RELATIVE sd;
- BYTE rgbSecurityDescriptor[1];
- };
- } CLUSPROP_SECURITY_DESCRIPTOR,*PCLUSPROP_SECURITY_DESCRIPTOR;
- typedef struct CLUS_RESOURCE_CLASS_INFO {
- __C89_NAMELESS union {
- __C89_NAMELESS struct {
- __C89_NAMELESS union {
- DWORD dw;
- CLUSTER_RESOURCE_CLASS rc;
- };
- DWORD SubClass;
- };
- ULARGE_INTEGER li;
- };
- } CLUS_RESOURCE_CLASS_INFO,*PCLUS_RESOURCE_CLASS_INFO;
- typedef struct CLUSPROP_RESOURCE_CLASS
- #ifdef __cplusplus
- : public CLUSPROP_VALUE
- #endif
- {
- #ifndef __cplusplus
- CLUSPROP_VALUE;
- #endif
- CLUSTER_RESOURCE_CLASS rc;
- } CLUSPROP_RESOURCE_CLASS,*PCLUSPROP_RESOURCE_CLASS;
- typedef struct CLUSPROP_RESOURCE_CLASS_INFO
- #ifdef __cplusplus
- : public CLUSPROP_VALUE,public CLUS_RESOURCE_CLASS_INFO
- #endif
- {
- #ifndef __cplusplus
- CLUSPROP_VALUE;
- CLUS_RESOURCE_CLASS_INFO;
- #endif
- } CLUSPROP_RESOURCE_CLASS_INFO,*PCLUSPROP_RESOURCE_CLASS_INFO;
- typedef union CLUSPROP_REQUIRED_DEPENDENCY {
- CLUSPROP_VALUE Value;
- CLUSPROP_RESOURCE_CLASS ResClass;
- CLUSPROP_SZ ResTypeName;
- } CLUSPROP_REQUIRED_DEPENDENCY,*PCLUSPROP_REQUIRED_DEPENDENCY;
- typedef CLUSPROP_DWORD CLUSPROP_DISK_NUMBER,*PCLUSPROP_DISK_NUMBER;
- #endif
- #ifndef _CLUSTER_API_TYPES_
- typedef enum CLUSPROP_PIFLAGS {
- CLUSPROP_PIFLAG_STICKY = 0x00000001,CLUSPROP_PIFLAG_REMOVABLE = 0x00000002,CLUSPROP_PIFLAG_USABLE = 0x00000004,
- CLUSPROP_PIFLAG_DEFAULT_QUORUM = 0x00000008
- } CLUSPROP_PIFLAGS;
- typedef struct CLUS_FORCE_QUORUM_INFO {
- DWORD dwSize;
- DWORD dwNodeBitMask;
- DWORD dwMaxNumberofNodes;
- WCHAR multiszNodeList[1];
- } CLUS_FORCE_QUORUM_INFO,*PCLUS_FORCE_QUORUM_INFO;
- typedef struct CLUS_PARTITION_INFO {
- DWORD dwFlags;
- WCHAR szDeviceName[MAX_PATH];
- WCHAR szVolumeLabel[MAX_PATH];
- DWORD dwSerialNumber;
- DWORD rgdwMaximumComponentLength;
- DWORD dwFileSystemFlags;
- WCHAR szFileSystem[32];
- } CLUS_PARTITION_INFO,*PCLUS_PARTITION_INFO;
- typedef struct CLUSPROP_PARTITION_INFO
- #ifdef __cplusplus
- : public CLUSPROP_VALUE,public CLUS_PARTITION_INFO
- #endif
- {
- #ifndef __cplusplus
- CLUSPROP_VALUE;
- CLUS_PARTITION_INFO;
- #endif
- } CLUSPROP_PARTITION_INFO,*PCLUSPROP_PARTITION_INFO;
- typedef struct CLUS_FTSET_INFO {
- DWORD dwRootSignature;
- DWORD dwFtType;
- } CLUS_FTSET_INFO,*PCLUS_FTSET_INFO;
- typedef struct CLUSPROP_FTSET_INFO
- #ifdef __cplusplus
- : public CLUSPROP_VALUE,public CLUS_FTSET_INFO
- #endif
- {
- #ifndef __cplusplus
- CLUSPROP_VALUE;
- CLUS_FTSET_INFO;
- #endif
- } CLUSPROP_FTSET_INFO,*PCLUSPROP_FTSET_INFO;
- typedef CLUSPROP_DWORD CLUSPROP_DISK_SIGNATURE,*PCLUSPROP_DISK_SIGNATURE;
- typedef struct CLUS_SCSI_ADDRESS {
- __C89_NAMELESS union {
- __C89_NAMELESS struct {
- UCHAR PortNumber;
- UCHAR PathId;
- UCHAR TargetId;
- UCHAR Lun;
- };
- DWORD dw;
- };
- } CLUS_SCSI_ADDRESS,*PCLUS_SCSI_ADDRESS;
- typedef struct CLUSPROP_SCSI_ADDRESS
- #ifdef __cplusplus
- : public CLUSPROP_VALUE,public CLUS_SCSI_ADDRESS
- #endif
- {
- #ifndef __cplusplus
- CLUSPROP_VALUE;
- CLUS_SCSI_ADDRESS;
- #endif
- } CLUSPROP_SCSI_ADDRESS,*PCLUSPROP_SCSI_ADDRESS;
- typedef struct CLUS_NETNAME_VS_TOKEN_INFO {
- DWORD ProcessID;
- DWORD DesiredAccess;
- WINBOOL InheritHandle;
- } CLUS_NETNAME_VS_TOKEN_INFO,*PCLUS_NETNAME_VS_TOKEN_INFO;
- typedef struct CLUS_MAINTENANCE_MODE_INFO {
- WINBOOL InMaintenance;
- } CLUS_MAINTENANCE_MODE_INFO,*PCLUS_MAINTENANCE_MODE_INFO;
- typedef struct CLUSPROP_LIST {
- DWORD nPropertyCount;
- CLUSPROP_PROPERTY_NAME PropertyName;
- } CLUSPROP_LIST,*PCLUSPROP_LIST;
- typedef union CLUSPROP_BUFFER_HELPER {
- BYTE *pb;
- WORD *pw;
- DWORD *pdw;
- LONG *pl;
- LPWSTR psz;
- PCLUSPROP_LIST pList;
- PCLUSPROP_SYNTAX pSyntax;
- PCLUSPROP_PROPERTY_NAME pName;
- PCLUSPROP_VALUE pValue;
- PCLUSPROP_BINARY pBinaryValue;
- PCLUSPROP_WORD pWordValue;
- PCLUSPROP_DWORD pDwordValue;
- PCLUSPROP_LONG pLongValue;
- PCLUSPROP_ULARGE_INTEGER pULargeIntegerValue;
- PCLUSPROP_LARGE_INTEGER pLargeIntegerValue;
- PCLUSPROP_SZ pStringValue;
- PCLUSPROP_MULTI_SZ pMultiSzValue;
- PCLUSPROP_SECURITY_DESCRIPTOR pSecurityDescriptor;
- PCLUSPROP_RESOURCE_CLASS pResourceClassValue;
- PCLUSPROP_RESOURCE_CLASS_INFO pResourceClassInfoValue;
- PCLUSPROP_DISK_SIGNATURE pDiskSignatureValue;
- PCLUSPROP_SCSI_ADDRESS pScsiAddressValue;
- PCLUSPROP_DISK_NUMBER pDiskNumberValue;
- PCLUSPROP_PARTITION_INFO pPartitionInfoValue;
- PCLUSPROP_REQUIRED_DEPENDENCY pRequiredDependencyValue;
- } CLUSPROP_BUFFER_HELPER,*PCLUSPROP_BUFFER_HELPER;
- #endif
- #define ALIGN_CLUSPROP(count) ((count + 3) & ~3)
- #define CLUSPROP_BINARY_DECLARE(name,cb) struct { CLUSPROP_SYNTAX Syntax; DWORD cbLength; BYTE rgb[(cb + 3) & ~3]; } name
- #define CLUSPROP_SZ_DECLARE(name,cch) struct { CLUSPROP_SYNTAX Syntax; DWORD cbLength; WCHAR sz[(cch + 1) & ~1]; } name
- #define CLUSPROP_PROPERTY_NAME_DECLARE(name,cch) CLUSPROP_SZ_DECLARE(name,cch)
- #ifndef _CLUSTER_API_TYPES_
- typedef enum CLUSTER_RESOURCE_ENUM {
- CLUSTER_RESOURCE_ENUM_DEPENDS = 0x00000001,CLUSTER_RESOURCE_ENUM_PROVIDES = 0x00000002,CLUSTER_RESOURCE_ENUM_NODES = 0x00000004,
- CLUSTER_RESOURCE_ENUM_ALL = (CLUSTER_RESOURCE_ENUM_DEPENDS | CLUSTER_RESOURCE_ENUM_PROVIDES | CLUSTER_RESOURCE_ENUM_NODES)
- } CLUSTER_RESOURCE_ENUM;
- typedef enum CLUSTER_RESOURCE_TYPE_ENUM {
- 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_RESOURCES)
- } CLUSTER_RESOURCE_TYPE_ENUM;
- #endif
- HRESENUM WINAPI ClusterResourceOpenEnum(HRESOURCE hResource,DWORD dwType);
- DWORD WINAPI ClusterResourceGetEnumCount(HRESENUM hResEnum);
- DWORD WINAPI ClusterResourceEnum(HRESENUM hResEnum,DWORD dwIndex,LPDWORD lpdwType,LPWSTR lpszName,LPDWORD lpcchName);
- DWORD WINAPI ClusterResourceCloseEnum(HRESENUM hResEnum);
- DWORD WINAPI CreateClusterResourceType(HCLUSTER hCluster,LPCWSTR lpszResourceTypeName,LPCWSTR lpszDisplayName,LPCWSTR lpszResourceTypeDll,DWORD dwLooksAlivePollInterval,DWORD dwIsAlivePollInterval);
- DWORD WINAPI DeleteClusterResourceType(HCLUSTER hCluster,LPCWSTR lpszResourceTypeName);
- HRESTYPEENUM WINAPI ClusterResourceTypeOpenEnum(HCLUSTER hCluster,LPCWSTR lpszResourceTypeName,DWORD dwType);
- DWORD WINAPI ClusterResourceTypeGetEnumCount(HRESTYPEENUM hResTypeEnum);
- DWORD WINAPI ClusterResourceTypeEnum(HRESTYPEENUM hResTypeEnum,DWORD dwIndex,LPDWORD lpdwType,LPWSTR lpszName,LPDWORD lpcchName);
- DWORD WINAPI ClusterResourceTypeCloseEnum(HRESTYPEENUM hResTypeEnum);
- #ifndef _CLUSTER_API_TYPES_
- typedef enum CLUSTER_NETWORK_ENUM {
- CLUSTER_NETWORK_ENUM_NETINTERFACES = 0x00000001,CLUSTER_NETWORK_ENUM_ALL = CLUSTER_NETWORK_ENUM_NETINTERFACES
- } CLUSTER_NETWORK_ENUM;
- typedef enum CLUSTER_NETWORK_STATE {
- ClusterNetworkStateUnknown = -1,ClusterNetworkUnavailable,ClusterNetworkDown,ClusterNetworkPartitioned,ClusterNetworkUp
- } CLUSTER_NETWORK_STATE;
- typedef enum CLUSTER_NETWORK_ROLE {
- ClusterNetworkRoleNone = 0,ClusterNetworkRoleInternalUse = 0x00000001,ClusterNetworkRoleClientAccess = 0x00000002,
- ClusterNetworkRoleInternalAndClient = 0x00000003
- } CLUSTER_NETWORK_ROLE;
- #endif
- HNETWORK WINAPI OpenClusterNetwork(HCLUSTER hCluster,LPCWSTR lpszNetworkName);
- WINBOOL WINAPI CloseClusterNetwork(HNETWORK hNetwork);
- HCLUSTER WINAPI GetClusterFromNetwork(HNETWORK hNetwork);
- HNETWORKENUM WINAPI ClusterNetworkOpenEnum(HNETWORK hNetwork,DWORD dwType);
- DWORD WINAPI ClusterNetworkGetEnumCount(HNETWORKENUM hNetworkEnum);
- DWORD WINAPI ClusterNetworkEnum(HNETWORKENUM hNetworkEnum,DWORD dwIndex,LPDWORD lpdwType,LPWSTR lpszName,LPDWORD lpcchName);
- DWORD WINAPI ClusterNetworkCloseEnum(HNETWORKENUM hNetworkEnum);
- CLUSTER_NETWORK_STATE WINAPI GetClusterNetworkState(HNETWORK hNetwork);
- DWORD WINAPI SetClusterNetworkName(HNETWORK hNetwork,LPCWSTR lpszName);
- DWORD WINAPI GetClusterNetworkId(HNETWORK hNetwork,LPWSTR lpszNetworkId,LPDWORD lpcchName);
- DWORD WINAPI ClusterNetworkControl(HNETWORK hNetwork,HNODE hHostNode,DWORD dwControlCode,LPVOID lpInBuffer,DWORD nInBufferSize,LPVOID lpOutBuffer,DWORD nOutBufferSize,LPDWORD lpBytesReturned);
- #ifndef _CLUSTER_API_TYPES_
- typedef enum CLUSTER_NETINTERFACE_STATE {
- ClusterNetInterfaceStateUnknown = -1,ClusterNetInterfaceUnavailable,ClusterNetInterfaceFailed,ClusterNetInterfaceUnreachable,ClusterNetInterfaceUp
- } CLUSTER_NETINTERFACE_STATE;
- #endif
- HNETINTERFACE WINAPI OpenClusterNetInterface(HCLUSTER hCluster,LPCWSTR lpszInterfaceName);
- DWORD WINAPI GetClusterNetInterface(HCLUSTER hCluster,LPCWSTR lpszNodeName,LPCWSTR lpszNetworkName,LPWSTR lpszInterfaceName,LPDWORD lpcchInterfaceName);
- WINBOOL WINAPI CloseClusterNetInterface(HNETINTERFACE hNetInterface);
- HCLUSTER WINAPI GetClusterFromNetInterface(HNETINTERFACE hNetInterface);
- CLUSTER_NETINTERFACE_STATE WINAPI GetClusterNetInterfaceState(HNETINTERFACE hNetInterface);
- DWORD WINAPI ClusterNetInterfaceControl(HNETINTERFACE hNetInterface,HNODE hHostNode,DWORD dwControlCode,LPVOID lpInBuffer,DWORD nInBufferSize,LPVOID lpOutBuffer,DWORD nOutBufferSize,LPDWORD lpBytesReturned);
- HKEY WINAPI GetClusterKey(HCLUSTER hCluster,REGSAM samDesired);
- HKEY WINAPI GetClusterGroupKey(HGROUP hGroup,REGSAM samDesired);
- HKEY WINAPI GetClusterResourceKey(HRESOURCE hResource,REGSAM samDesired);
- HKEY WINAPI GetClusterNodeKey(HNODE hNode,REGSAM samDesired);
- HKEY WINAPI GetClusterNetworkKey(HNETWORK hNetwork,REGSAM samDesired);
- HKEY WINAPI GetClusterNetInterfaceKey(HNETINTERFACE hNetInterface,REGSAM samDesired);
- LONG WINAPI ClusterRegCreateKey(HKEY hKey,LPCWSTR lpszSubKey,DWORD dwOptions,REGSAM samDesired,LPSECURITY_ATTRIBUTES lpSecurityAttributes,PHKEY phkResult,LPDWORD lpdwDisposition);
- LONG WINAPI ClusterRegOpenKey(HKEY hKey,LPCWSTR lpszSubKey,REGSAM samDesired,PHKEY phkResult);
- LONG WINAPI ClusterRegDeleteKey(HKEY hKey,LPCWSTR lpszSubKey);
- LONG WINAPI ClusterRegCloseKey(HKEY hKey);
- LONG WINAPI ClusterRegEnumKey(HKEY hKey,DWORD dwIndex,LPWSTR lpszName,LPDWORD lpcchName,PFILETIME lpftLastWriteTime);
- DWORD WINAPI ClusterRegSetValue(HKEY hKey,LPCWSTR lpszValueName,DWORD dwType,CONST BYTE *lpData,DWORD cbData);
- DWORD WINAPI ClusterRegDeleteValue(HKEY hKey,LPCWSTR lpszValueName);
- LONG WINAPI ClusterRegQueryValue(HKEY hKey,LPCWSTR lpszValueName,LPDWORD lpdwValueType,LPBYTE lpData,LPDWORD lpcbData);
- DWORD WINAPI ClusterRegEnumValue(HKEY hKey,DWORD dwIndex,LPWSTR lpszValueName,LPDWORD lpcchValueName,LPDWORD lpdwType,LPBYTE lpData,LPDWORD lpcbData);
- LONG WINAPI ClusterRegQueryInfoKey(HKEY hKey,LPDWORD lpcSubKeys,LPDWORD lpcchMaxSubKeyLen,LPDWORD lpcValues,LPDWORD lpcchMaxValueNameLen,LPDWORD lpcbMaxValueLen,LPDWORD lpcbSecurityDescriptor,PFILETIME lpftLastWriteTime);
- LONG WINAPI ClusterRegGetKeySecurity (HKEY hKey,SECURITY_INFORMATION RequestedInformation,PSECURITY_DESCRIPTOR pSecurityDescriptor,LPDWORD lpcbSecurityDescriptor);
- LONG WINAPI ClusterRegSetKeySecurity(HKEY hKey,SECURITY_INFORMATION SecurityInformation,PSECURITY_DESCRIPTOR pSecurityDescriptor);
- typedef HCLUSTER (WINAPI *PCLUSAPI_OPEN_CLUSTER)(
- LPCWSTR lpszClusterName
- );
- #if (_WIN32_WINNT >= 0x0600)
- #define FS_CASE_SENSITIVE 1
- #define FS_CASE_IS_PRESERVED 2
- #define FS_UNICODE_STORED_ON_DISK 3
- #define FS_PERSISTENT_ACLS 4
- typedef enum _MAINTENANCE_MODE_TYPE_ENUM {
- MaintenanceModeTypeDisableIsAliveCheck = 1,
- MaintenanceModeTypeOfflineResource = 2,
- MaintenanceModeTypeUnclusterResource = 3
- } MAINTENANCE_MODE_TYPE_ENUM, *PMAINTENANCE_MODE_TYPE_ENUM;
- typedef enum CLUSTER_RESOURCE_STATE {
- ClusterResourceStateUnknown = -1,
- ClusterResourceInherited = 0,
- ClusterResourceInitializing = 1,
- ClusterResourceOnline = 2,
- ClusterResourceOffline = 3,
- ClusterResourceFailed = 4,
- ClusterResourcePending = 128, // 0x80
- ClusterResourceOnlinePending = 129, // 0x81
- ClusterResourceOfflinePending = 130 // 0x82
- } CLUSTER_RESOURCE_STATE;
- typedef enum _CLUSTER_REG_COMMAND {
- CLUSREG_COMMAND_NONE = 0,
- CLUSREG_SET_VALUE = 1,
- CLUSREG_CREATE_KEY = 2,
- CLUSREG_DELETE_KEY = 3,
- CLUSREG_DELETE_VALUE = 4,
- CLUSREG_SET_KEY_SECURITY = 5,
- CLUSREG_VALUE_DELETED = 6,
- CLUSREG_LAST_COMMAND = 7
- } CLUSTER_REG_COMMAND;
- typedef enum CLUSTER_GROUP_STATE {
- ClusterGroupStateUnknown = -1,
- ClusterGroupOnline = 0,
- ClusterGroupOffline = 1,
- ClusterGroupFailed = 2,
- ClusterGroupPartialOnline = 3,
- ClusterGroupPending = 4
- } CLUSTER_GROUP_STATE;
- typedef enum CLUSTER_QUORUM_TYPE {
- OperationalQuorum = 0,
- ModifyQuorum = 1
- } CLUSTER_QUORUM_TYPE;
- typedef enum CLUSTER_QUORUM_VALUE {
- CLUSTER_QUORUM_MAINTAINED = 0,
- CLUSTER_QUORUM_LOST = 1
- } CLUSTER_QUORUM_VALUE;
- typedef enum CLUSTER_RESOURCE_CLASS {
- CLUS_RESCLASS_UNKNOWN = 0,
- CLUS_RESCLASS_STORAGE = 1,
- CLUS_RESCLASS_NETWORK = 2,
- CLUS_RESCLASS_USER = 32768
- } CLUSTER_RESOURCE_CLASS;
- typedef enum CLUSTER_RESOURCE_CREATE_FLAGS {
- CLUSTER_RESOURCE_DEFAULT_MONITOR = 0,
- CLUSTER_RESOURCE_SEPARATE_MONITOR = 1,
- CLUSTER_RESOURCE_VALID_FLAGS = 1
- } CLUSTER_RESOURCE_CREATE_FLAGS;
- typedef enum _CLUSTER_SETUP_PHASE {
- ClusterSetupPhaseInitialize = 1,
- 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;
- 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 struct _CLUSPROP_FILETIME {
- CLUSPROP_SYNTAX Syntax;
- DWORD cbLength;
- FILETIME ft;
- } CLUSPROP_FILETIME, *PCLUSPROP_FILETIME;
- typedef struct _CLUS_MAINTENANCE_MODE_INFOEX {
- WINBOOL InMaintenance;
- MAINTENANCE_MODE_TYPE_ENUM MaintainenceModeType;
- CLUSTER_RESOURCE_STATE InternalState;
- DWORD Signature;
- } CLUS_MAINTENANCE_MODE_INFOEX, *PCLUS_MAINTENANCE_MODE_INFOEX;
- typedef struct CLUS_NETNAME_PWD_INFO {
- DWORD Flags;
- WCHAR Password[MAX_CO_PASSWORD_LENGTH];
- WCHAR CreatingDC[MAX_CREATINGDC_LENGTH+2];
- WCHAR ObjectGuid[MAX_OBJECTID];
- } CLUS_NETNAME_PWD_INFO, *PCLUS_NETNAME_PWD_INFO;
- typedef struct CLUS_NETNAME_VS_TOKEN_INFO {
- DWORD ProcessID;
- DWORD DesiredAccess;
- WINBOOL InheritHandle;
- } CLUS_NETNAME_VS_TOKEN_INFO, *PCLUS_NETNAME_VS_TOKEN_INFO;
- typedef struct CLUS_PARTITION_INFO_EX {
- DWORD dwFlags;
- WCHAR szDeviceName[MAX_PATH];
- WCHAR szVolumeLabel[MAX_PATH];
- DWORD dwSerialNumber;
- DWORD rgdwMaximumComponentLength;
- DWORD dwFileSystemFlags;
- WCHAR szFileSystem[32];
- ULARGE_INTEGER TotalSizeInBytes;
- ULARGE_INTEGER FreeSizeInBytes;
- DWORD DeviceNumber;
- DWORD PartitionNumber;
- GUID VolumeGuid;
- } CLUS_PARTITION_INFO_EX, *PCLUS_PARTITION_INFO_EX;
- typedef struct _CLUS_PROVIDER_STATE_CHANGE_INFO {
- DWORD dwSize;
- CLUSTER_RESOURCE_STATE resourceState;
- WCHAR szProviderId[1];
- } CLUS_PROVIDER_STATE_CHANGE_INFO, *PCLUS_PROVIDER_STATE_CHANGE_INFO;
- typedef struct _CLUS_STORAGE_GET_AVAILABLE_DRIVELETTERS {
- DWORD AvailDrivelettersMask;
- } CLUS_STORAGE_GET_AVAILABLE_DRIVELETTERS, *PCLUS_STORAGE_GET_AVAILABLE_DRIVELETTERS;
- typedef struct _CLUS_STORAGE_REMAP_DRIVELETTER {
- DWORD CurrentDriveLetterMask;
- DWORD TargetDriveLetterMask;
- } CLUS_STORAGE_REMAP_DRIVELETTER, *PCLUS_STORAGE_REMAP_DRIVELETTER;
- typedef struct _CLUS_STORAGE_SET_DRIVELETTER {
- DWORD PartitionNumber;
- DWORD DriveLetterMask;
- } CLUS_STORAGE_SET_DRIVELETTER, *PCLUS_STORAGE_SET_DRIVELETTER;
- typedef struct _CLUSPROP_PARTITION_INFO_EX {
- CLUSPROP_SYNTAX Syntax;
- DWORD cbLength;
- DWORD dwFlags;
- WCHAR szDeviceName[MAX_PATH];
- WCHAR szVolumeLabel[MAX_PATH];
- DWORD dwSerialNumber;
- DWORD rgdwMaximumComponentLength;
- DWORD dwFileSystemFlags;
- WCHAR szFileSystem[32];
- ULARGE_INTEGER TotalSizeInBytes;
- ULARGE_INTEGER FreeSizeInBytes;
- DWORD DeviceNumber;
- DWORD PartitionNumber;
- GUID VolumeGuid;
- } CLUSPROP_PARTITION_INFO_EX, *PCLUSPROP_PARTITION_INFO_EX;
- typedef struct _CLUSTER_BATCH_COMMAND {
- CLUSTER_REG_COMMAND Command;
- DWORD dwOptions;
- LPCWSTR wzName;
- BYTE CONST * lpData;
- DWORD cbData;
- } CLUSTER_BATCH_COMMAND;
- typedef struct _CLUSTER_IP_ENTRY {
- PCWSTR lpszIpAddress;
- DWORD dwPrefixLength;
- } CLUSTER_IP_ENTRY, *PCLUSTER_IP_ENTRY;
- typedef struct _CREATE_CLUSTER_CONFIG {
- DWORD dwVersion;
- PCWSTR lpszClusterName;
- DWORD cNodes;
- PCWSTR *ppszNodeNames;
- DWORD cIpEntries;
- PCLUSTER_IP_ENTRY pIpEntries;
- BOOLEAN fEmptyCluster;
- } CREATE_CLUSTER_CONFIG, *PCREATE_CLUSTER_CONFIG;
- typedef struct _CLUSTER_VALIDATE_DIRECTORY {
- __MINGW_EXTENSION WCHAR szPath[0];
- } CLUSTER_VALIDATE_DIRECTORY, *PCLUSTER_VALIDATE_DIRECTORY;
- typedef struct _CLUSTER_VALIDATE_NETNAME {
- __MINGW_EXTENSION WCHAR szNetworkName[0];
- } CLUSTER_VALIDATE_NETNAME, *PCLUSTER_VALIDATE_NETNAME;
- typedef struct _CLUSTER_VALIDATE_PATH {
- __MINGW_EXTENSION WCHAR szPath[0];
- } CLUSTER_VALIDATE_PATH, *PCLUSTER_VALIDATE_PATH;
- typedef LPVOID HREGBATCH;
- typedef LPVOID HREGBATCHPORT;
- typedef LPVOID HREGBATCHNOTIFICATION;
- LONG ClusterRegBatchAddCommand(
- HREGBATCH hRegBatch,
- CLUSTER_REG_COMMAND dwCommand,
- LPCWSTR wzName,
- DWORD dwOptions,
- VOID CONST *lpData,
- DWORD cbData
- );
- LONG WINAPI ClusterRegBatchCloseNotification(
- HREGBATCHNOTIFICATION hBatchNotification
- );
- LONG WINAPI ClusterRegBatchReadCommand(
- HREGBATCHNOTIFICATION hBatchNotification,
- CLUSTER_BATCH_COMMAND *pBatchCommand
- );
- LONG WINAPI ClusterRegCloseBatch(
- HREGBATCH hRegBatch,
- WINBOOL bCommit,
- INT *failedCommandNumber
- );
- LONG WINAPI ClusterRegCloseBatchNotifyPort(
- HREGBATCHPORT hBatchNotifyPort
- );
- typedef LONG (WINAPI *PCLUSTER_REG_CREATE_BATCH)(
- HKEY hKey,
- HREGBATCH *pHREGBATCH
- );
- LONG WINAPI ClusterRegCreateBatch(
- HKEY hKey,
- HREGBATCH *pHREGBATCH
- );
- typedef LONG (WINAPI *PCLUSTER_REG_CREATE_BATCH_NOTIFY_PORT)(
- HKEY hKey,
- HREGBATCHPORT *phBatchNotifyPort
- );
- LONG WINAPI ClusterRegCreateBatchNotifyPort(
- HKEY hKey,
- HREGBATCHPORT *phBatchNotifyPort
- );
- typedef LONG (WINAPI *PCLUSTER_REG_GET_BATCH_NOTIFICATION)(
- HREGBATCHPORT hBatchNotify,
- HREGBATCHNOTIFICATION *phBatchNotification
- );
- LONG WINAPI ClusterRegGetBatchNotification(
- HREGBATCHPORT hBatchNotify,
- HREGBATCHNOTIFICATION *phBatchNotification
- );
- typedef WINBOOL (WINAPI *PCLUSTER_SETUP_PROGRESS_CALLBACK)(
- PVOID pvCallbackArg,
- CLUSTER_SETUP_PHASE eSetupPhase,
- CLUSTER_SETUP_PHASE_TYPE ePhaseType,
- CLUSTER_SETUP_PHASE_SEVERITY ePhaseSeverity,
- DWORD dwPercentComplete,
- PCWSTR lpszObjectName,
- DWORD dwStatus
- );
- HNODE WINAPI AddClusterNode(
- HCLUSTER hCluster,
- PCWSTR lpszNodeName,
- PCLUSTER_SETUP_PROGRESS_CALLBACK pfnProgressCallback,
- PVOID pvCallbackArg
- );
- DWORD WINAPI DestroyCluster(
- HCLUSTER hCluster,
- PCLUSTER_SETUP_PROGRESS_CALLBACK pfnProgressCallback,
- PVOID pvCallbackArg,
- WINBOOL fdeleteVirtualComputerObjects
- );
- HCLUSTER WINAPI CreateCluster(
- PCREATE_CLUSTER_CONFIG pConfig,
- PCLUSTER_SETUP_PROGRESS_CALLBACK pfnProgressCallback,
- PVOID pvCallbackArg
- );
- DWORD DestroyClusterGroup(
- HGROUP hGroup
- );
- typedef enum _FILESHARE_CHANGE_ENUM {
- FILESHARE_CHANGE_NONE = 0,
- FILESHARE_CHANGE_ADD = 1,
- FILESHARE_CHANGE_DEL = 2,
- FILESHARE_CHANGE_MODIFY = 3
- } FILESHARE_CHANGE_ENUM;
- #define NNLEN 80 /* Net name length (share name) */
- typedef struct _FILESHARE_CHANGE {
- FILESHARE_CHANGE_ENUM Change;
- WCHAR ShareName[NNLEN+4];
- } FILESHARE_CHANGE, *PFILESHARE_CHANGE;
- typedef struct _FILESHARE_CHANGE_LIST {
- DWORD NumEntries;
- __MINGW_EXTENSION FILESHARE_CHANGE ChangeEntry[0];
- } FILESHARE_CHANGE_LIST, *PFILESHARE_CHANGE_LIST;
- DWORD WINAPI GetClusterResourceDependencyExpression(
- HRESOURCE hResource,
- LPWSTR lpszDependencyExpression,
- LPDWORD lpcchDependencyExpression
- );
- DWORD WINAPI SetClusterResourceDependencyExpression(
- HRESOURCE hResource,
- LPCWSTR lpszDependencyExpression
- );
- #endif /* (_WIN32_WINNT >= 0x0600) */
- #if (_WIN32_WINNT >= 0x0601)
- typedef enum _CLUSTER_SHARED_VOLUME_BACKUP_STATE {
- VolumeBackupNone = 0x00000000,
- VolumeBackupInProgress = 0x00000001
- } CLUSTER_SHARED_VOLUME_BACKUP_STATE, *PCLUSTER_SHARED_VOLUME_BACKUP_STATE;
- #endif /* (_WIN32_WINNT >= 0x0601) */
- #ifdef __cplusplus
- }
- #endif
- #ifndef _CLUSTER_API_TYPES_
- #define _CLUSTER_API_TYPES_
- #endif
- #endif
|