Partager via


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.

Note Contrairement à la plupart des autres masques de bits d’énumération, cette valeur doit être utilisée seule. N’utilisez pas l’opérateur OR pour le combiner avec d’autres masques de bits.
 
Windows Server 2008 : La valeur CLUSTER_ENUM_SHARED_VOLUME_RESOURCE n’est pas prise en charge avant Windows Server 2008 R2.

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 .

Note Contrairement à la plupart des autres masques de bits d’énumération, cette valeur doit être utilisée seule. N’utilisez pas l’opérateur OR pour le combiner avec d’autres masques de bits.
 

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
ERROR_SUCCESS
0
L’opération s’est terminée avec succès.
ERROR_NO_MORE_ITEMS
259 (0x103)
Aucune donnée n'est disponible. Cette valeur est retournée s’il n’y a plus d’objets du type demandé à retourner.
ERROR_MORE_DATA
234 (0xEA)
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

Voir aussi

ClusterCloseEnum

ClusterOpenEnum

SetClusterNetworkPriorityOrder