创建并启动群集。 群集由指定的节点集组成,其中指定了 网络名称、 IP 地址和 仲裁资源 (如果指定)。 PCLUSAPI_CREATE_CLUSTER类型定义指向此函数的指针。
Syntax
HCLUSTER CreateCluster(
[in] PCREATE_CLUSTER_CONFIG pConfig,
[in, optional] PCLUSTER_SETUP_PROGRESS_CALLBACK pfnProgressCallback,
[in, optional] PVOID pvCallbackArg
);
参数
[in] pConfig
包含要创建的群集的配置信息的 CREATE_CLUSTER_CONFIG 结构的地址。
[in, optional] pfnProgressCallback
与 PCLUSTER_SETUP_PROGRESS_CALLBACK函数指针 匹配的回调函数的地址,该指针将定期调用以在群集创建时提供进度。
[in, optional] pvCallbackArg
回调函数的参数。
返回值
处理新创建的群集或 NULL。 非 NULL 值并不表示完全成功(将添加所有节点,但可能尚未创建所有 IP 地址 或 网络名称 资源)。 应检查传递给 pfnProgressCallback 参数指向的函数的参数。
| 返回代码 | Description |
|---|---|
|
已成功创建大多数节点。 有关错误的详细信息,请调用函数 GetLastError。 |
注解
PCLUSAPI_CREATE_CLUSTER类型定义指向此函数的指针,可与 GetProcAddress 函数一起使用来调用此函数。
CreateCluster 函数成功完成后,至少应允许 30 秒才能调用 AddClusterNode 函数来添加其他节点。
在实现群集仲裁后, CreateCluster 函数成功完成。 一个或多个群集节点可能处于 ClusterNodeDown 或 ClusterNodeJoining 状态几秒钟。
在调用 CreateCluster 函数之前,必须调用 CoInitializeEx 函数,同时指定 dwCoInit 参数的COINIT_MULTITHREADED和COINIT_DISABLE_OLE1DDE,如以下代码所示。
CoInitializeEx( NULL, COINIT_MULTITHREADED | COINIT_DISABLE_OLE1DDE );
要求
| Requirement | 价值 |
|---|---|
| 最低支持的客户端 | 无受支持的版本 |
| 支持的最低服务器 | Windows Server 2008 Datacenter、Windows Server 2008 企业版 |
| 目标平台 | Windows操作系统 |
| Header | clusapi.h |
| Library | ClusAPI.lib |
| DLL | ClusAPI.dll |