Função ClusterResourceControl (clusapi.h)
Inicia uma operação que afeta um recurso. A operação executada depende do código de controle passado para o parâmetro dwControlCode .
Sintaxe
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
);
Parâmetros
[in] hResource
Manipule para o recurso a ser afetado.
[in, optional] hHostNode
Identificador opcional para o nó para executar a operação. Se NULL, o nó que possui o recurso identificado por hResource executará a operação.
[in] dwControlCode
Um código de controle de recurso, enumerado pela enumeração CLUSCTL_RESOURCE_CODES , especificando a operação a ser executada. Para obter a sintaxe associada a um código de controle, consulte
Arquitetura de código de controle e os seguintes tópicos:
- 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
Ponteiro para um buffer de entrada que contém informações necessárias para a operação ou NULL se nenhuma informação for necessária.
[in] cbInBufferSize
O tamanho alocado (em bytes) do buffer de entrada.
[out, optional] lpOutBuffer
Ponteiro para um buffer de saída para receber os dados resultantes da operação ou NULL se nenhum dado for retornado.
[in] cbOutBufferSize
O tamanho alocado (em bytes) do buffer de saída.
[out, optional] lpBytesReturned
Retorna o tamanho real (em bytes) dos dados resultantes da operação. Se essas informações não forem necessárias, passe NULL para lpBytesReturned.
Retornar valor
A função retorna um dos valores a seguir.
Valor/código retornado | Descrição |
---|---|
|
A operação foi bem-sucedida. Se a operação exigir um buffer de saída, lpBytesReturned (se não NULL na entrada) apontará para o tamanho real dos dados retornados no buffer. |
|
O buffer de saída apontado por lpOutBuffer não era grande o suficiente para manter os dados resultantes da operação. O parâmetro lpBytesReturned (se não for NULL na entrada) aponta para o tamanho necessário para o buffer de saída. Somente as operações que exigem um buffer de saída retornam ERROR_MORE_DATA. Se o parâmetro lpOutBuffer for NULL e o parâmetro cbOutBufferSize for zero, ERROR_SUCCESS poderá ser retornado, não ERROR_MORE_DATA. |
|
Aplica-se somente a CLUSCTL_RESOURCE_SET_COMMON_PROPERTIES e CLUSCTL_RESOURCE_SET_PRIVATE_PROPERTIES. Indica que as propriedades foram armazenadas com êxito, mas ainda não foram aplicadas ao recurso. As novas propriedades entrarão em vigor depois que o recurso for colocado offline e colocado online novamente. |
|
O nó especificado pelo parâmetro hNode não é o nó que possui o recurso especificado por hResource. |
A operação não foi bem-sucedida. Se a operação exigir um buffer de saída, o valor especificado por lpBytesReturned (se não NULL na entrada) não será confiável. |
Comentários
Quando ClusterResourceControl retornar ERROR_MORE_DATA, defina cbOutBufferSize como o número de bytes apontados por lpBytesReturned e chame a função novamente.
Não passe identificadores LPC e RPC para a mesma chamada de função. Caso contrário, a chamada gerará uma exceção RPC e poderá ter efeitos destrutivos adicionais. Para obter informações sobre como os identificadores LPC e RPC são criados, consulte Identificadores LPC e RPC e OpenCluster.
A função ClusterResourceControl é uma das funções de código de controle. Para obter mais informações sobre códigos de controle e funções de código de controle, consulte Usando códigos de controle.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Nenhum compatível |
Servidor mínimo com suporte | Windows Server 2008 Enterprise, Windows Server 2008 Datacenter |
Plataforma de Destino | Windows |
Cabeçalho | clusapi.h |
Biblioteca | ClusAPI.lib |
DLL | ClusAPI.dll |