clusterControl 函数 (clusapi.h)

启动影响 群集的操作。 执行的操作取决于传递给 dwControlCode 参数的控制代码

语法

DWORD ClusterControl(
  [in]            HCLUSTER hCluster,
  [in, optional]  HNODE    hHostNode,
  [in]            DWORD    dwControlCode,
  [in, optional]  LPVOID   lpInBuffer,
  [in]            DWORD    nInBufferSize,
  [out, optional] LPVOID   lpOutBuffer,
  [in]            DWORD    nOutBufferSize,
  [out, optional] LPDWORD  lpBytesReturned
);

参数

[in] hCluster

要受影响的群集的句柄。

[in, optional] hHostNode

如果为非 NULL,则句柄指向节点以执行由控制代码表示的操作。 如果 为 NULL,则本地节点将执行该操作。 指定 hHostNode 是可选的。

[in] dwControlCode

CLUSCTL_CLUSTER_CODES 枚举中的群集控制代码,用于指定要执行的操作。 有关与控件代码关联的语法,请参阅 控件代码体系结构 和以下主题:

[in, optional] lpInBuffer

指向包含操作所需信息的输入缓冲区的指针;如果不需要任何信息,则为 NULL

[in] nInBufferSize

输入缓冲区) ,分配的大小 (字节数。

[out, optional] lpOutBuffer

指向用于接收操作生成的数据的输出缓冲区的指针;如果未返回任何数据,则为 NULL

[in] nOutBufferSize

分配的大小 (输出缓冲区) 字节数。

[out, optional] lpBytesReturned

返回操作产生的数据的实际大小 () 字节数。 如果不需要此信息,请为 lcbBytesReturned 传递 NULL

返回值

函数返回以下值之一。

返回代码 说明
ERROR_SUCCESS
操作成功。 如果操作需要输出缓冲区,则 l ( 输入 ) 返回的数据 的实际大小,否则输入) 返回的数据的实际大小。
ERROR_MORE_DATA
lpOutBuffer 指向的输出缓冲区不够大,无法容纳操作产生的数据。 如果输入) 上不为 NULL则 l () 参数指向输出缓冲区所需的大小。 只有需要输出缓冲区的操作才会返回 ERROR_MORE_DATA。 如果 lpOutBuffer 参数为 NULLnOutBufferSize 参数为零,则可能会返回 ERROR_SUCCESS ,而不是 ERROR_MORE_DATA
系统错误代码
操作未成功。 如果操作需要输出缓冲区,则输入) 上不为 NULL 时,l (bytesReturned 指定的值不可靠。

备注

如果 ClusterControl 返回 ERROR_MORE_DATA,请将 nOutBufferSize 设置为 ltotalBytesReturned 指向的字节数,然后再次调用函数。

不要将 LPC 和 RPC 句柄传递给同一函数调用。 否则,调用将引发 RPC 异常,并可能产生额外的破坏性影响。 有关如何创建 LPC 和 RPC 句柄的信息,请参阅 LPC 和 RPC 句柄OpenCluster

ClusterControl控制代码函数之一。 有关控制代码和控制代码函数的详细信息,请参阅 使用控制代码

要求

   
最低受支持的客户端 无受支持的版本
最低受支持的服务器 Windows Server 2008 Enterprise、Windows Server 2008 Datacenter
目标平台 Windows
标头 clusapi.h
Library ClusAPI.lib
DLL ClusAPI.dll

另请参阅

群集控制代码

OpenCluster