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。
傳回值
函式會傳回下列其中一個值。
傳回碼/值 | Description |
---|---|
|
作業成功。 如果作業需要輸出緩衝區,如果輸入) 上不是 NULL,則 lpBytesReturned (會指向緩衝區中傳回之數據的實際大小。 |
|
lpOutBuffer 所指向的輸出緩衝區不夠大,無法保存作業所產生的數據。 如果輸入) 上不是 NULL,則 lpBytesReturned 參數 (指向輸出緩衝區所需的大小。 只有需要輸出緩衝區傳回 ERROR_MORE_DATA的作業。 如果 lpOutBuffer 參數為 NULL 且 cbOutBufferSize 參數為零,則可能會傳回 ERROR_SUCCESS ,而不是 ERROR_MORE_DATA。 |
|
僅適用於 CLUSCTL_RESOURCE_SET_COMMON_PROPERTIES 和 CLUSCTL_RESOURCE_SET_PRIVATE_PROPERTIES。 表示屬性已成功儲存,但尚未套用至資源。 新的屬性會在資源離線後生效,並再次上線。 |
|
hNode 參數指定的節點不是擁有 hResource 所指定資源的節點。 |
作業未成功。 如果作業需要輸出緩衝區,則輸入) 上沒有 NULL 時,lpBytesReturned 所指定的值 (不可靠。 |
備註
當 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 |
程式庫 | ClusAPI.lib |
Dll | ClusAPI.dll |