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


Функция ClusterNodeControl (clusapi.h)

Инициирует операцию, влияющую на узел. Выполняемая операция зависит от кода элемента управления , переданного параметру dwControlCode .

Синтаксис

DWORD ClusterNodeControl(
  [in]            HNODE   hNode,
  [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] hNode

Дескриптор для затронутого узла.

[in, optional] hHostNode

Если значение не равно NULL, обработайте узел, который выполнит операцию, а не узел, указанный в hNode. Если значение РАВНО NULL, операция выполняется узлом, обрабатывающим вызов.

[in] dwControlCode

Код элемента управления узла, указывающий операцию, которую необходимо выполнить. Синтаксис, связанный с кодом элемента управления, см. в разделе
Архитектура кода управления и следующие разделы:

[in, optional] lpInBuffer

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

[in] nInBufferSize

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

[out, optional] lpOutBuffer

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

[in] nOutBufferSize

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

[out, optional] lpBytesReturned

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

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

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

Код возврата Описание
ERROR_SUCCESS
Операция выполнена успешно. Если операция требовала выходного буфера, lpBytesReturned (если не ЗНАЧЕНИЕ NULL для входных данных) указывает на фактический размер данных, возвращаемых в буфере.
ERROR_MORE_DATA
Выходной буфер, на который указывает lpOutBuffer , не был достаточно велик для хранения данных, полученных в результате операции. Параметр lpBytesReturned (если не NULL для входных данных) указывает на размер, необходимый для выходного буфера. Только операции, для которых требуется выходной буфер, возвращают ERROR_MORE_DATA. Если параметр lpOutBuffer имеет значение NULL , а параметр nOutBufferSize равен нулю, можно вернуть ERROR_SUCCESS , а не ERROR_MORE_DATA.
Код системной ошибки
Операция не была успешной. Если для операции требуется выходной буфер, значение, заданное параметром lpBytesReturned (если для входных данных не задано значение NULL ), является ненадежным.

Комментарии

Если ClusterNodeControl возвращает ERROR_MORE_DATA, задайте nOutBufferSize число байтов, на которые указывает lpBytesReturned , и вызовите функцию еще раз.

Не передайте маркеры LPC и RPC в один вызов функции. В противном случае вызов вызовет исключение RPC и может иметь дополнительные разрушительные последствия. Сведения о создании дескрипторов LPC и RPC см. в разделах LPC и RPC Handles и OpenCluster.

ClusterNodeControl является одной из функций кода элемента управления. Дополнительные сведения о кодах элементов управления и функциях кода элементов управления см. в разделе Использование кодов элементов управления.

Требования

Требование Значение
Минимальная версия клиента Ни одна версия не поддерживается
Минимальная версия сервера Windows Server 2008 Корпоративная, Windows Server 2008 Datacenter
Целевая платформа Windows
Header clusapi.h
Библиотека ClusAPI.lib
DLL ClusAPI.dll

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

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

OpenCluster