Partager via


MoveClusterGroup, fonction (clusapi.h)

Déplace un groupe et toutes ses ressources d’un nœud à un autre. Le type PCLUSAPI_MOVE_CLUSTER_GROUP définit un pointeur vers cette fonction.

Syntaxe

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

Paramètres

[in] hGroup

Handle vers le groupe à déplacer.

[in, optional] hDestinationNode

Gérez vers le nœud où le groupe déplacé doit être remis en ligne ou NULL.

Valeur retournée

Si l’opération réussit, la fonction retourne ERROR_SUCCESS.

Si l’opération échoue, la fonction retourne un code d’erreur système. Voici l’un des codes d’erreur possibles.

Code de retour Description
ERROR_IO_PENDING
La réaffectation de la propriété du groupe est en cours.

Remarques

La valeur de retour de la fonction MoveClusterGroup n’implique rien concernant l’état du groupe ou de ses ressources. La valeur de retour indique uniquement si le changement de propriété a réussi. Après le retour de MoveClusterGroup, le cluster tente toujours de retourner le groupe à l’état qu’il était avant le déplacement.

Si vous souhaitez que votre application garantisse un état particulier pour une ressource ou un groupe après un déplacement :

  1. Vérifiez l’état avant le déplacement. Le cluster tentera de restaurer cet état après le déplacement.
  2. Interrogez l’état après le déplacement et ajustez si nécessaire. Vous pouvez également créer un port de notification (voir Réception d’événements de cluster) et attendre un événement CLUSTER_CHANGE_GROUP_STATE .
Lorsque hDestinationNode a la valeur NULL, MoveClusterGroup tente de déplacer le groupe vers le meilleur nœud possible. Si aucun nœud disponible ne peut accepter le groupe, la fonction échoue. MoveClusterGroup échoue également si MoveClusterGroup détermine que le groupe ne peut pas être mis en ligne sur le nœud identifié par le paramètre hDestinationNode .

N’appelez pas MoveClusterGroup à partir d’une DLL de ressource. Pour plus d’informations, consultez Appels de fonction à éviter dans les DLL de ressources.

Ne passez pas de handles LPC et RPC au même appel de fonction. Sinon, l’appel déclenche une exception RPC et peut avoir des effets destructeurs supplémentaires. Pour plus d’informations sur la création des handles LPC et RPC, consultez Using Object Handles and OpenCluster.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Aucun pris en charge
Serveur minimal pris en charge Windows Server 2008 Entreprise, Windows Server 2008 Datacenter
Plateforme cible Windows
En-tête clusapi.h
Bibliothèque ClusAPI.lib
DLL ClusAPI.dll

Voir aussi

OpenCluster

OpenClusterGroup

OpenClusterNode