启动影响 资源的操作。
执行的操作取决于传递给 dwControlCode 参数的控制代码。
语法
DWORD ClusterResourceControlAsUser(
  [in]            HRESOURCE hResource,
  [in, optional]  HNODE     hHostNode,
  [in]            DWORD     dwControlCode,
  [in, optional]  LPVOID    lpInBuffer,
  [in]            DWORD     cbInBufferSize,
  [out, optional] LPVOID    lpOutBuffer,
  [in]            DWORD     cbOutBufferSize,
  [out, optional] LPDWORD   lpBytesReturned
);
参数
[in] hResource
要受影响的资源的句柄。
[in, optional] hHostNode
用于执行操作的节点的可选句柄。 如果 为 NULL,则拥有 由 hResource 标识的资源的节点将执行该操作。
[in] dwControlCode
由 CLUSCTL_RESOURCE_CODES 枚举枚举的资源控制代码,指定要执行的操作。 有关与控件代码关联的语法,请参阅
              CLUSCTL_RESOURCE_CODES主题的链接。
[in, optional] lpInBuffer
指向包含操作所需信息的输入缓冲区的指针;如果不需要任何信息,则为 NULL 。
[in] cbInBufferSize
输入缓冲区) 分配的大小 (字节数。
[out, optional] lpOutBuffer
指向用于接收操作生成的数据的输出缓冲区的指针;如果未返回任何数据,则为 NULL 。
[in] cbOutBufferSize
分配的大小 (输出缓冲区) 字节数。
[out, optional] lpBytesReturned
返回实际大小 (,以字节为单位,) 操作生成的数据。 如果不需要此信息,请为 lpBytesReturned 传递 NULL。
返回值
函数返回以下值之一。
| 返回代码/值 | 说明 | 
|---|---|
  | 
操作成功。 如果操作需要输出缓冲区,则 输入) lpBytesReturned (如果不是 NULL ,则指向缓冲区中返回的数据的实际大小。 | 
  | 
lpOutBuffer 指向的输出缓冲区不够大,无法容纳操作产生的数据。 lpBytesReturned 参数 (输入) 指向输出缓冲区所需的大小(如果不是 NULL)。 只有需要输出缓冲区的操作才会返回 ERROR_MORE_DATA。 如果 lpOutBuffer 参数为 NULL 且 cbOutBufferSize 参数为零,则可能会返回 ERROR_SUCCESS ,而不是 ERROR_MORE_DATA。 | 
  | 
仅适用于 CLUSCTL_RESOURCE_SET_COMMON_PROPERTIES 和 CLUSCTL_RESOURCE_SET_PRIVATE_PROPERTIES。 指示属性已成功存储,但尚未应用于资源。 新属性将在资源脱机并重新联机后生效。 | 
  | 
由 hNode 参数指定的节点不是拥有由 hResource 指定的资源的节点。 | 
| 操作未成功。 如果操作需要输出缓冲区,则 lpBytesReturned 指定的值 (如果输入) 不为 NULL ,则不可靠。 | 
注解
当 ClusterResourceControl 返回 ERROR_MORE_DATA时,将 cbOutBufferSize 设置为 lpBytesReturned 指向的字节数,然后再次调用函数。
不要将 LPC 和 RPC 句柄传递给同一函数调用。 否则,调用将引发 RPC 异常,并可能会产生其他破坏性影响。 有关如何创建 LPC 和 RPC 句柄的信息,请参阅 LPC 和 RPC 句柄 和 OpenCluster。
ClusterResourceControl 函数是控制代码函数之一。 有关控制代码和控制代码函数的详细信息,请参阅 使用控制代码。
要求
| 要求 | 值 | 
|---|---|
| 最低受支持的客户端 | 无受支持的版本 | 
| 最低受支持的服务器 | Windows Server 2016 | 
| 目标平台 | Windows | 
| 标头 | clusapi.h | 
| Library | ClusAPI.lib | 
| DLL | ClusAPI.dll |