Поделиться через


Функция 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, указывающий выполняемую операцию. Синтаксис, связанный с кодом элемента управления, см. в статье Архитектура кода элемента управления и в следующих разделах:

[in, optional] lpInBuffer

Указатель на входной буфер, содержащий сведения, необходимые для операции, или значение NULL , если информация не требуется.

[in] nInBufferSize

Выделенный размер (в байтах) входного буфера.

[out, optional] lpOutBuffer

Указатель на выходной буфер для получения данных, полученных в результате операции, или значение NULL , если данные не будут возвращены.

[in] nOutBufferSize

Выделенный размер (в байтах) выходного буфера.

[out, optional] lpBytesReturned

Возвращает фактический размер (в байтах) данных, полученных в результате операции. Если эти сведения не требуются, передайте значение NULL для lpcbBytesReturned.

Возвращаемое значение

Функция возвращает одно из следующих значений.

Код возврата Описание
ERROR_SUCCESS
Операция выполнена успешно. Если операция требовала выходного буфера, lpcbBytesReturned (если не NULL для входных данных) указывает на фактический размер данных, возвращаемых в буфере.
ERROR_MORE_DATA
Выходной буфер, на который указывает 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

См. также раздел

Коды управления кластером

OpenCluster