ClusterResourceControl 函数 (clusapi.h)
启动影响 资源的操作。 执行的操作取决于传递给 dwControlCode 参数的控制代码。
语法
DWORD ClusterResourceControl(
[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_UNKNOWN
- CLUSCTL_RESOURCE_GET_CHARACTERISTICS
- CLUSCTL_RESOURCE_GET_FLAGS
- CLUSCTL_RESOURCE_GET_CLASS_INFO
- CLUSCTL_RESOURCE_GET_REQUIRED_DEPENDENCIES
- CLUSCTL_RESOURCE_GET_NAME
- CLUSCTL_RESOURCE_GET_ID
- CLUSCTL_RESOURCE_GET_RESOURCE_TYPE
- CLUSCTL_RESOURCE_ENUM_COMMON_PROPERTIES
- CLUSCTL_RESOURCE_GET_RO_COMMON_PROPERTIES
- CLUSCTL_RESOURCE_GET_COMMON_PROPERTIES
- CLUSCTL_RESOURCE_SET_COMMON_PROPERTIES
- CLUSCTL_RESOURCE_VALIDATE_COMMON_PROPERTIES
- CLUSCTL_RESOURCE_GET_COMMON_PROPERTY_FMTS
- CLUSCTL_RESOURCE_ENUM_PRIVATE_PROPERTIES
- CLUSCTL_RESOURCE_GET_RO_PRIVATE_PROPERTIES
- CLUSCTL_RESOURCE_GET_PRIVATE_PROPERTIES
- CLUSCTL_RESOURCE_SET_PRIVATE_PROPERTIES
- CLUSCTL_RESOURCE_VALIDATE_PRIVATE_PROPERTIES
- CLUSCTL_RESOURCE_GET_PRIVATE_PROPERTY_FMTS
- CLUSCTL_RESOURCE_ADD_REGISTRY_CHECKPOINT
- CLUSCTL_RESOURCE_DELETE_REGISTRY_CHECKPOINT
- CLUSCTL_RESOURCE_GET_REGISTRY_CHECKPOINTS
- CLUSCTL_RESOURCE_ADD_CRYPTO_CHECKPOINT
- CLUSCTL_RESOURCE_DELETE_CRYPTO_CHECKPOINT
- CLUSCTL_RESOURCE_GET_CRYPTO_CHECKPOINTS
- CLUSCTL_RESOURCE_GET_LOADBAL_PROCESS_LIST
- CLUSCTL_RESOURCE_GET_NETWORK_NAME
- CLUSCTL_RESOURCE_NETNAME_GET_VIRTUAL_SERVER_TOKEN
- CLUSCTL_RESOURCE_NETNAME_SET_PWD_INFO
- CLUSCTL_RESOURCE_NETNAME_DELETE_CO
- CLUSCTL_RESOURCE_NETNAME_VALIDATE_VCO
- CLUSCTL_RESOURCE_NETNAME_RESET_VCO
- CLUSCTL_RESOURCE_NETNAME_REGISTER_DNS_RECORDS
- CLUSCTL_RESOURCE_GET_DNS_NAME
- CLUSCTL_RESOURCE_STORAGE_GET_DISK_INFO
- CLUSCTL_RESOURCE_STORAGE_IS_PATH_VALID
- CLUSCTL_RESOURCE_QUERY_DELETE
- CLUSCTL_RESOURCE_UPGRADE_DLL
- CLUSCTL_RESOURCE_IPADDRESS_RENEW_LEASE
- CLUSCTL_RESOURCE_IPADDRESS_RELEASE_LEASE
- CLUSCTL_RESOURCE_ADD_REGISTRY_CHECKPOINT_64BIT
- CLUSCTL_RESOURCE_ADD_REGISTRY_CHECKPOINT_32BIT
- CLUSCTL_RESOURCE_QUERY_MAINTENANCE_MODE
- CLUSCTL_RESOURCE_SET_MAINTENANCE_MODE
- CLUSCTL_RESOURCE_STORAGE_SET_DRIVELETTER
- CLUSCTL_RESOURCE_STORAGE_GET_DISK_INFO_EX
- CLUSCTL_RESOURCE_FILESERVER_SHARE_ADD
- CLUSCTL_RESOURCE_FILESERVER_SHARE_DEL
- CLUSCTL_RESOURCE_FILESERVER_SHARE_MODIFY
- CLUSCTL_RESOURCE_FILESERVER_SHARE_REPORT
- CLUSCTL_RESOURCE_STORAGE_GET_MOUNTPOINTS
- CLUSCTL_RESOURCE_STORAGE_CLUSTER_DISK
- CLUSCTL_RESOURCE_STORAGE_GET_DIRTY
- CLUSCTL_RESOURCE_SET_CSV_MAINTENANCE_MODE
- CLUSCTL_RESOURCE_ENABLE_SHARED_VOLUME_DIRECTIO
- CLUSCTL_RESOURCE_DISABLE_SHARED_VOLUME_DIRECTIO
- CLUSCTL_RESOURCE_SET_SHARED_VOLUME_BACKUP_MODE
- CLUSCTL_RESOURCE_DELETE
- CLUSCTL_RESOURCE_INSTALL_NODE
- CLUSCTL_RESOURCE_EVICT_NODE
- CLUSCTL_RESOURCE_ADD_DEPENDENCY
- CLUSCTL_RESOURCE_REMOVE_DEPENDENCY
- CLUSCTL_RESOURCE_ADD_OWNER
- CLUSCTL_RESOURCE_REMOVE_OWNER
- CLUSCTL_RESOURCE_SET_NAME
- CLUSCTL_RESOURCE_CLUSTER_NAME_CHANGED
- CLUSCTL_RESOURCE_CLUSTER_VERSION_CHANGED
- CLUSCTL_RESOURCE_FORCE_QUORUM
- CLUSCTL_RESOURCE_INITIALIZE
- CLUSCTL_RESOURCE_STATE_CHANGE_REASON
- CLUSCTL_RESOURCE_PROVIDER_STATE_CHANGE
- CLUSCTL_RESOURCE_LEAVING_GROUP
- CLUSCTL_RESOURCE_JOINING_GROUP
- CLUSCTL_RESOURCE_FSWITNESS_GET_EPOCH_INFO
- CLUSCTL_RESOURCE_FSWITNESS_SET_EPOCH_INFO
- CLUSCTL_RESOURCE_FSWITNESS_RELEASE_LOCK
- CLUSCTL_RESOURCE_NETNAME_CREDS_UPDATED
[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 2008 Enterprise、Windows Server 2008 Datacenter |
目标平台 | Windows |
标头 | clusapi.h |
Library | ClusAPI.lib |
DLL | ClusAPI.dll |