Partager via


Fonction ClusterNodeControl (clusapi.h)

Lance une opération qui affecte un nœud. L’opération effectuée dépend du code de contrôle passé au paramètre dwControlCode .

Syntaxe

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
);

Paramètres

[in] hNode

Gérez le nœud à affecter.

[in, optional] hHostNode

Si la valeur n’est pas NULL, gérez le nœud qui effectuera l’opération au lieu du nœud spécifié dans hNode. Si la valeur est NULL, le nœud qui gère l’appel effectue l’opération.

[in] dwControlCode

Code de contrôle de nœud spécifiant l’opération à effectuer. Pour connaître la syntaxe associée à un code de contrôle, reportez-vous à
Architecture du code de contrôle et les rubriques suivantes :

[in, optional] lpInBuffer

Pointeur vers une mémoire tampon d’entrée contenant les informations nécessaires à l’opération, ou NULL si aucune information n’est nécessaire.

[in] nInBufferSize

Taille allouée (en octets) de la mémoire tampon d’entrée.

[out, optional] lpOutBuffer

Pointeur vers une mémoire tampon de sortie pour recevoir les données résultant de l’opération, ou NULL si aucune donnée ne sera retournée.

[in] nOutBufferSize

Taille allouée (en octets) de la mémoire tampon de sortie.

[out, optional] lpBytesReturned

Retourne la taille réelle (en octets) des données résultant de l’opération. Si ces informations ne sont pas nécessaires, passez null pour lpBytesReturned.

Valeur retournée

La fonction retourne l’une des valeurs suivantes.

Code de retour Description
ERROR_SUCCESS
L'opération a réussi. Si l’opération nécessitait une mémoire tampon de sortie, lpBytesReturned (si ce n’est pas NULL en entrée) pointe vers la taille réelle des données retournées dans la mémoire tampon.
ERROR_MORE_DATA
La mémoire tampon de sortie pointée par lpOutBuffer n’était pas assez grande pour contenir les données résultant de l’opération. Le paramètre lpBytesReturned (s’il n’est pas NULL en entrée) pointe vers la taille requise pour la mémoire tampon de sortie. Seules les opérations nécessitant une mémoire tampon de sortie retournent ERROR_MORE_DATA. Si le paramètre lpOutBuffer a la valeur NULL et que le paramètre nOutBufferSize est égal à zéro, ERROR_SUCCESS peut être retourné, et non ERROR_MORE_DATA.
Code d’erreur système
L’opération n’a pas réussi. Si l’opération nécessitait une mémoire tampon de sortie, la valeur spécifiée par lpBytesReturned (si elle n’est pas NULL en entrée) n’est pas fiable.

Remarques

Si ClusterNodeControl retourne ERROR_MORE_DATA, définissez nOutBufferSize sur le nombre d’octets pointés par lpBytesReturned et appelez à nouveau la fonction.

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 Handles LPC et RPC et OpenCluster.

ClusterNodeControl est l’une des fonctions de code de contrôle. Pour plus d’informations sur les codes de contrôle et les fonctions de code de contrôle, consultez Utilisation des codes de contrôle.

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

Codes de contrôle de nœud

OpenCluster