Partager via


Fonction ClusterResourceControl (clusapi.h)

Lance une opération affectant une ressource. L’opération effectuée dépend du code de contrôle passé au paramètre dwControlCode .

Syntaxe

DWORD ClusterResourceControl(
  [in]            HRESOURCE hResource,
  [in, optional]  HNODE     hHostNode,
  [in]            DWORD     dwControlCode,
  [in, optional]  LPVOID    lpInBuffer,
  [in]            DWORD     cbInBufferSize,
  [out, optional] LPVOID    lpOutBuffer,
  [in]            DWORD     cbOutBufferSize,
  [out, optional] LPDWORD   lpBytesReturned
);

Paramètres

[in] hResource

Gérez la ressource à affecter.

[in, optional] hHostNode

Handle facultatif vers le nœud pour effectuer l’opération. Si la valeur est NULL, le nœud qui possède la ressource identifiée par hResource effectue l’opération.

[in] dwControlCode

Code de contrôle des ressources, énuméré par l’énumération CLUSCTL_RESOURCE_CODES , 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] cbInBufferSize

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] cbOutBufferSize

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 la valeur NULL pour lpBytesReturned.

Valeur retournée

La fonction retourne l’une des valeurs suivantes.

Code/valeur de retour Description
ERROR_SUCCESS
0
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
234 (0xEA)
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 cbOutBufferSize est égal à zéro, ERROR_SUCCESS peut être retourné, et non ERROR_MORE_DATA.
ERROR_RESOURCE_PROPERTIES_STORED
5024 (0x13A0)
S’applique uniquement aux CLUSCTL_RESOURCE_SET_COMMON_PROPERTIES et CLUSCTL_RESOURCE_SET_PRIVATE_PROPERTIES. Indique que les propriétés ont été correctement stockées, mais qu’elles n’ont pas encore été appliquées à la ressource. Les nouvelles propriétés prendront effet une fois la ressource mise hors connexion et remise en ligne.
ERROR_HOST_NODE_NOT_RESOURCE_OWNER
5015 (0x1397)
Le nœud spécifié par le paramètre hNode n’est pas le nœud qui possède la ressource spécifiée par hResource.
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

Lorsque ClusterResourceControl retourne ERROR_MORE_DATA, définissez cbOutBufferSize sur le nombre d’octets pointés par lpBytesReturned, puis 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.

La fonction ClusterResourceControl 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

OpenCluster

Codes de contrôle des ressources