ClusterNodeControl 函数 (clusapi.h)

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

语法

DWORD ClusterNodeControl(
  [in]            HNODE   hNode,
  [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] hNode

要受影响的节点的句柄。

[in, optional] hHostNode

如果为非 NULL,则句柄指向将执行操作的节点,而不是 hNode 中指定的节点。 如果 为 NULL,则处理调用的节点将执行该操作。

[in] dwControlCode

指定要执行的操作的 节点控制代码 。 有关与控件代码关联的语法,请参阅
控制代码体系结构 和以下主题:

[in, optional] lpInBuffer

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

[in] nInBufferSize

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

[out, optional] lpOutBuffer

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

[in] nOutBufferSize

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

[out, optional] lpBytesReturned

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

返回值

函数返回以下值之一。

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

注解

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

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

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

要求

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

另请参阅

节点控制代码

OpenCluster