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


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

Перемещает группу и все ее ресурсы с одного узла на другой. Тип PCLUSAPI_MOVE_CLUSTER_GROUP определяет указатель на эту функцию.

Синтаксис

DWORD MoveClusterGroup(
  [in]           HGROUP hGroup,
  [in, optional] HNODE  hDestinationNode
);

Параметры

[in] hGroup

Дескриптор перемещаемой группы.

[in, optional] hDestinationNode

Дескриптор узла, на котором должна быть возвращена перемещенная группа, или значение NULL.

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

Если операция выполнена успешно, функция возвращает ERROR_SUCCESS.

Если операция завершается сбоем, функция возвращает код системной ошибки. Ниже приведен один из возможных кодов ошибок.

Код возврата Описание
ERROR_IO_PENDING
Выполняется переназначение владельца группы.

Комментарии

Возвращаемое значение функции MoveClusterGroup не подразумевает ничего о состоянии группы или каких-либо ее ресурсов. Возвращаемое значение только указывает, была ли смена владельца успешной. После возврата из MoveClusterGroup кластер всегда пытается вернуть группу в состояние, которое она находилась до перемещения.

Если вы хотите, чтобы приложение обеспечило определенное состояние ресурса или группы после перемещения, выполните следующие действия.

  1. Проверьте состояние перед перемещением. Кластер попытается восстановить это состояние после перемещения.
  2. Опросить состояние после перемещения и при необходимости отрегулировать. Или создайте порт уведомлений (см. раздел Получение событий кластера) и дождитесь события CLUSTER_CHANGE_GROUP_STATE .
Если для hDestinationNode задано значение NULL, MoveClusterGroup пытается переместить группу на наилучший узел. Если нет доступного узла, который может принять группу, функция завершается сбоем. MoveClusterGroup также завершается ошибкой, если MoveClusterGroup определяет, что группа не может быть подключена к узлу, определенному параметром hDestinationNode .

Не вызывайте MoveClusterGroup из библиотеки DLL ресурса. Дополнительные сведения см. в разделе Вызовы функций, которые следует избегать в библиотеках DLL ресурсов.

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

Требования

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

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

OpenCluster

OpenClusterGroup

OpenClusterNode