Fonction ClusterEnum (clusapi.h)
Énumère les objets de cluster dans un cluster, en retournant le nom d’un objet à chaque appel. Le type PCLUSAPI_CLUSTER_ENUM définit un pointeur vers cette fonction.
Syntaxe
DWORD ClusterEnum(
[in] HCLUSENUM hEnum,
[in] DWORD dwIndex,
[out] LPDWORD lpdwType,
[out] LPWSTR lpszName,
[in, out] LPDWORD lpcchName
);
Paramètres
[in] hEnum
Handle d’énumération de cluster retourné par la fonction ClusterOpenEnum .
[in] dwIndex
Index utilisé pour identifier l’entrée suivante à énumérer. Ce paramètre doit être égal à zéro pour le premier appel à ClusterEnum , puis incrémenté pour les appels suivants.
[out] lpdwType
Pointeur vers le type d’objet retourné. L’une des valeurs suivantes de l’énumération CLUSTER_ENUM est retournée à chaque appel.
CLUSTER_ENUM_NODE (1 (0x1))
Énumère les nœuds du cluster.
CLUSTER_ENUM_RESTYPE (2 (0x2))
Énumère les types de ressources dans le cluster.
CLUSTER_ENUM_RESOURCE (4 (0x4))
Énumère les ressources dans le cluster.
CLUSTER_ENUM_GROUP (8 (0x8))
Énumère les groupes dans le cluster.
CLUSTER_ENUM_NETWORK (16 (0x10))
Énumère les réseaux dans le cluster.
CLUSTER_ENUM_NETINTERFACE (32 (0x20))
Énumère les interfaces réseau dans le cluster.
CLUSTER_ENUM_SHARED_VOLUME_RESOURCE (1073741824 (0x40000000))
Énumère les volumes partagés de cluster utilisés par le cluster.
CLUSTER_ENUM_INTERNAL_NETWORK (2147483648 (0x80000000))
Énumère les réseaux utilisés par le cluster pour la communication interne. Les réseaux sont énumérés dans l’ordre de priorité la plus élevée à la plus basse, comme établi par la fonction SetClusterNetworkPriorityOrder .
CLUSTER_ENUM_ALL ((CLUSTER_ENUM_NODE | CLUSTER_ENUM_RESTYPE | CLUSTER_ENUM_RESOURCE | CLUSTER_ENUM_GROUP | CLUSTER_ENUM_NETWORK | CLUSTER_ENUM_NETINTERFACE))
Énumère tous les objets de cluster.
[out] lpszName
Pointeur vers une chaîne Unicode terminée par null contenant le nom de l’objet retourné.
[in, out] lpcchName
Pointeur vers la taille de la mémoire tampon lpszName en tant que nombre de caractères. Lors de l’entrée, spécifiez le nombre maximal de caractères que la mémoire tampon peut contenir, y compris la valeur NULL de fin. Sur la sortie, spécifie le nombre de caractères dans le nom résultant, à l’exclusion de la valeur NULL de fin.
Valeur retournée
La fonction retourne l’une des valeurs suivantes.
Code/valeur de retour | Description |
---|---|
|
L’opération s’est terminée avec succès. |
|
Aucune donnée n'est disponible. Cette valeur est retournée s’il n’y a plus d’objets du type demandé à retourner. |
|
More data is available. Cette valeur est retournée si la mémoire tampon pointée vers lpszName n’est pas assez grande pour contenir le résultat. Le paramètre lpcchName retourne le nombre de caractères dans le résultat, à l’exclusion de la valeur NULL de fin. |
Notes
La fonction ClusterEnum est généralement utilisée pour itérer à travers une collection d’objets de cluster d’un ou plusieurs types. Si, par exemple, une application souhaite énumérer tous les nœuds d’un cluster, elle appelle ClusterOpenEnum pour ouvrir un énumérateur de cluster qui peut traiter des nœuds. Le paramètre dwType est défini sur CLUSTER_ENUM_NODE pour spécifier des nœuds comme type d’objet à énumérer. Si l’application énumère des groupes en plus des nœuds, le paramètre dwType a la valeur CLUSTER_ENUM_NODE | CLUSTER_ENUM_GROUP
. Avec le handle retourné par ClusterOpenEnum , l’application appelle ClusterEnum à plusieurs reprises pour récupérer chacun des objets.
Le paramètre lpdwType pointe vers le type d’objet récupéré.
Notez que lpcchName fait référence à un nombre de caractères et non à un nombre d’octets, et que la taille retournée n’inclut pas la valeur NULL de fin dans le nombre. Pour plus d’informations sur le dimensionnement des mémoires tampons, consultez Conventions de taille des données.
Exemples
Consultez Énumération d’objets.
Configuration requise
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 |