ClusterResourceControlAsUser 函数 (clusapi.h)
启动影响 资源的操作。
执行的操作取决于传递给 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 |