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 :
- CLUSCTL_RESOURCE_UNKNOWN
- CLUSCTL_RESOURCE_GET_CHARACTERISTICS
- CLUSCTL_RESOURCE_GET_FLAGS
- CLUSCTL_RESOURCE_GET_CLASS_INFO
- CLUSCTL_RESOURCE_GET_REQUIRED_DEPENDENCIES
- CLUSCTL_RESOURCE_GET_NAME
- CLUSCTL_RESOURCE_GET_ID
- CLUSCTL_RESOURCE_GET_RESOURCE_TYPE
- CLUSCTL_RESOURCE_ENUM_COMMON_PROPERTIES
- CLUSCTL_RESOURCE_GET_RO_COMMON_PROPERTIES
- CLUSCTL_RESOURCE_GET_COMMON_PROPERTIES
- CLUSCTL_RESOURCE_SET_COMMON_PROPERTIES
- CLUSCTL_RESOURCE_VALIDATE_COMMON_PROPERTIES
- CLUSCTL_RESOURCE_GET_COMMON_PROPERTY_FMTS
- CLUSCTL_RESOURCE_ENUM_PRIVATE_PROPERTIES
- CLUSCTL_RESOURCE_GET_RO_PRIVATE_PROPERTIES
- CLUSCTL_RESOURCE_GET_PRIVATE_PROPERTIES
- CLUSCTL_RESOURCE_SET_PRIVATE_PROPERTIES
- CLUSCTL_RESOURCE_VALIDATE_PRIVATE_PROPERTIES
- CLUSCTL_RESOURCE_GET_PRIVATE_PROPERTY_FMTS
- CLUSCTL_RESOURCE_ADD_REGISTRY_CHECKPOINT
- CLUSCTL_RESOURCE_DELETE_REGISTRY_CHECKPOINT
- CLUSCTL_RESOURCE_GET_REGISTRY_CHECKPOINTS
- CLUSCTL_RESOURCE_ADD_CRYPTO_CHECKPOINT
- CLUSCTL_RESOURCE_DELETE_CRYPTO_CHECKPOINT
- CLUSCTL_RESOURCE_GET_CRYPTO_CHECKPOINTS
- CLUSCTL_RESOURCE_GET_LOADBAL_PROCESS_LIST
- CLUSCTL_RESOURCE_GET_NETWORK_NAME
- CLUSCTL_RESOURCE_NETNAME_GET_VIRTUAL_SERVER_TOKEN
- CLUSCTL_RESOURCE_NETNAME_SET_PWD_INFO
- CLUSCTL_RESOURCE_NETNAME_DELETE_CO
- CLUSCTL_RESOURCE_NETNAME_VALIDATE_VCO
- CLUSCTL_RESOURCE_NETNAME_RESET_VCO
- CLUSCTL_RESOURCE_NETNAME_REGISTER_DNS_RECORDS
- CLUSCTL_RESOURCE_GET_DNS_NAME
- CLUSCTL_RESOURCE_STORAGE_GET_DISK_INFO
- CLUSCTL_RESOURCE_STORAGE_IS_PATH_VALID
- CLUSCTL_RESOURCE_QUERY_DELETE
- CLUSCTL_RESOURCE_UPGRADE_DLL
- CLUSCTL_RESOURCE_IPADDRESS_RENEW_LEASE
- CLUSCTL_RESOURCE_IPADDRESS_RELEASE_LEASE
- CLUSCTL_RESOURCE_ADD_REGISTRY_CHECKPOINT_64BIT
- CLUSCTL_RESOURCE_ADD_REGISTRY_CHECKPOINT_32BIT
- CLUSCTL_RESOURCE_QUERY_MAINTENANCE_MODE
- CLUSCTL_RESOURCE_SET_MAINTENANCE_MODE
- CLUSCTL_RESOURCE_STORAGE_SET_DRIVELETTER
- CLUSCTL_RESOURCE_STORAGE_GET_DISK_INFO_EX
- CLUSCTL_RESOURCE_FILESERVER_SHARE_ADD
- CLUSCTL_RESOURCE_FILESERVER_SHARE_DEL
- CLUSCTL_RESOURCE_FILESERVER_SHARE_MODIFY
- CLUSCTL_RESOURCE_FILESERVER_SHARE_REPORT
- CLUSCTL_RESOURCE_STORAGE_GET_MOUNTPOINTS
- CLUSCTL_RESOURCE_STORAGE_CLUSTER_DISK
- CLUSCTL_RESOURCE_STORAGE_GET_DIRTY
- CLUSCTL_RESOURCE_SET_CSV_MAINTENANCE_MODE
- CLUSCTL_RESOURCE_ENABLE_SHARED_VOLUME_DIRECTIO
- CLUSCTL_RESOURCE_DISABLE_SHARED_VOLUME_DIRECTIO
- CLUSCTL_RESOURCE_SET_SHARED_VOLUME_BACKUP_MODE
- CLUSCTL_RESOURCE_DELETE
- CLUSCTL_RESOURCE_INSTALL_NODE
- CLUSCTL_RESOURCE_EVICT_NODE
- CLUSCTL_RESOURCE_ADD_DEPENDENCY
- CLUSCTL_RESOURCE_REMOVE_DEPENDENCY
- CLUSCTL_RESOURCE_ADD_OWNER
- CLUSCTL_RESOURCE_REMOVE_OWNER
- CLUSCTL_RESOURCE_SET_NAME
- CLUSCTL_RESOURCE_CLUSTER_NAME_CHANGED
- CLUSCTL_RESOURCE_CLUSTER_VERSION_CHANGED
- CLUSCTL_RESOURCE_FORCE_QUORUM
- CLUSCTL_RESOURCE_INITIALIZE
- CLUSCTL_RESOURCE_STATE_CHANGE_REASON
- CLUSCTL_RESOURCE_PROVIDER_STATE_CHANGE
- CLUSCTL_RESOURCE_LEAVING_GROUP
- CLUSCTL_RESOURCE_JOINING_GROUP
- CLUSCTL_RESOURCE_FSWITNESS_GET_EPOCH_INFO
- CLUSCTL_RESOURCE_FSWITNESS_SET_EPOCH_INFO
- CLUSCTL_RESOURCE_FSWITNESS_RELEASE_LOCK
- CLUSCTL_RESOURCE_NETNAME_CREDS_UPDATED
[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 |
---|---|
|
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. |
|
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. |
|
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. |
|
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. |
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 |