Функция ClusterControl (clusapi.h)
Инициирует операцию, влияющую на кластер. Выполняемая операция зависит от кода элемента управления , переданного параметру dwControlCode .
Синтаксис
DWORD ClusterControl(
[in] HCLUSTER hCluster,
[in, optional] HNODE hHostNode,
[in] DWORD dwControlCode,
[in, optional] LPVOID lpInBuffer,
[in] DWORD nInBufferSize,
[out, optional] LPVOID lpOutBuffer,
[in] DWORD nOutBufferSize,
[out, optional] LPDWORD lpBytesReturned
);
Параметры
[in] hCluster
Дескриптор для затронутого кластера.
[in, optional] hHostNode
Если значение не равно NULL, обратитесь к узлу, чтобы выполнить операцию, представленную кодом элемента управления. Если значение РАВНО NULL, локальный узел выполняет операцию. Указание hHostNode является необязательным.
[in] dwControlCode
Код управления кластером из перечисления CLUSCTL_CLUSTER_CODES, указывающий выполняемую операцию. Синтаксис, связанный с кодом элемента управления, см. в статье Архитектура кода элемента управления и в следующих разделах:
- CLUSCTL_CLUSTER_CHECK_VOTER_DOWN
- CLUSCTL_CLUSTER_CHECK_VOTER_EVICT
- CLUSCTL_CLUSTER_CLEAR_NODE_CONNECTION_INFO
- CLUSCTL_CLUSTER_ENUM_COMMON_PROPERTIES
- CLUSCTL_CLUSTER_ENUM_PRIVATE_PROPERTIES
- CLUSCTL_CLUSTER_GET_COMMON_PROPERTIES
- CLUSCTL_CLUSTER_GET_FQDN
- CLUSCTL_CLUSTER_GET_COMMON_PROPERTY_FMTS
- CLUSCTL_CLUSTER_GET_PRIVATE_PROPERTIES
- CLUSCTL_CLUSTER_GET_PRIVATE_PROPERTY_FMTS
- CLUSCTL_CLUSTER_GET_RO_COMMON_PROPERTIES
- CLUSCTL_CLUSTER_GET_RO_PRIVATE_PROPERTIES
- CLUSCTL_CLUSTER_GET_SHARED_VOLUME_ID
- CLUSCTL_CLUSTER_SET_COMMON_PROPERTIES
- CLUSCTL_CLUSTER_SET_PRIVATE_PROPERTIES
- CLUSCTL_CLUSTER_SHUTDOWN
- CLUSCTL_CLUSTER_UNKNOWN
- CLUSCTL_CLUSTER_VALIDATE_COMMON_PROPERTIES
- CLUSCTL_CLUSTER_VALIDATE_PRIVATE_PROPERTIES
[in, optional] lpInBuffer
Указатель на входной буфер, содержащий сведения, необходимые для операции, или значение NULL , если информация не требуется.
[in] nInBufferSize
Выделенный размер (в байтах) входного буфера.
[out, optional] lpOutBuffer
Указатель на выходной буфер для получения данных, полученных в результате операции, или значение NULL , если данные не будут возвращены.
[in] nOutBufferSize
Выделенный размер (в байтах) выходного буфера.
[out, optional] lpBytesReturned
Возвращает фактический размер (в байтах) данных, полученных в результате операции. Если эти сведения не требуются, передайте значение NULL для lpcbBytesReturned.
Возвращаемое значение
Функция возвращает одно из следующих значений.
Код возврата | Описание |
---|---|
|
Операция выполнена успешно. Если операция требовала выходного буфера, lpcbBytesReturned (если не NULL для входных данных) указывает на фактический размер данных, возвращаемых в буфере. |
|
Выходной буфер, на который указывает lpOutBuffer , не был достаточно велик для хранения данных, полученных в результате операции. Параметр lpcbBytesReturned (если не NULL для входных данных) указывает на размер, необходимый для выходного буфера. Только операции, для которых требуется выходной буфер, возвращают ERROR_MORE_DATA. Если параметр lpOutBuffer имеет значение NULL , а параметр nOutBufferSize равен нулю, можно вернуть ERROR_SUCCESS , а не ERROR_MORE_DATA. |
Операция не была успешной. Если для операции требуется выходной буфер, значение, заданное параметром lpcbBytesReturned (если для входных данных не задано значение NULL ), является ненадежным. |
Комментарии
Если ClusterControl возвращает ERROR_MORE_DATA, задайте nOutBufferSize число байтов, на которые указывает lpcbBytesReturned , и вызовите функцию еще раз.
Не передайте маркеры LPC и RPC в один вызов функции. В противном случае вызов вызовет исключение RPC и может иметь дополнительные разрушительные последствия. Сведения о создании дескрипторов LPC и RPC см. в разделах LPC и RPC Handles и OpenCluster.
ClusterControl является одной из функций кода элемента управления. Дополнительные сведения о кодах элементов управления и функциях кода элементов управления см. в разделе Использование кодов элементов управления.
Требования
Минимальная версия клиента | Ни одна версия не поддерживается |
Минимальная версия сервера | Windows Server 2008 Корпоративная, Windows Server 2008 Datacenter |
Целевая платформа | Windows |
Header | clusapi.h |
Библиотека | ClusAPI.lib |
DLL | ClusAPI.dll |