ClusterEnum-Funktion (clusapi.h)
Listet die Clusterobjekte in einem Cluster auf und gibt mit jedem Aufruf den Namen eines Objekts zurück. Der PCLUSAPI_CLUSTER_ENUM Typ definiert einen Zeiger auf diese Funktion.
Syntax
DWORD ClusterEnum(
[in] HCLUSENUM hEnum,
[in] DWORD dwIndex,
[out] LPDWORD lpdwType,
[out] LPWSTR lpszName,
[in, out] LPDWORD lpcchName
);
Parameter
[in] hEnum
Ein Clusteraufzählungshandle, das von der ClusterOpenEnum-Funktion zurückgegeben wird.
[in] dwIndex
Der Index, der verwendet wird, um den nächsten Eintrag zu identifizieren, der aufgelistet werden soll. Dieser Parameter sollte für den ersten Aufruf von ClusterEnum null und für nachfolgende Aufrufe inkrementiert werden.
[out] lpdwType
Ein Zeiger auf den Typ des zurückgegebenen Objekts. Einer der folgenden Werte der CLUSTER_ENUM-Enumeration wird bei jedem Aufruf zurückgegeben.
CLUSTER_ENUM_NODE (1 (0x1))
Listet die Knoten im Cluster auf.
CLUSTER_ENUM_RESTYPE (2 (0x2))
Listet die Ressourcentypen im Cluster auf.
CLUSTER_ENUM_RESOURCE (4 (0x4))
Listet die Ressourcen im Cluster auf.
CLUSTER_ENUM_GROUP (8 (0x8))
Listet die Gruppen im Cluster auf.
CLUSTER_ENUM_NETWORK (16 (0x10))
Listet die Netzwerke im Cluster auf.
CLUSTER_ENUM_NETINTERFACE (32 (0x20))
Listet die Netzwerkschnittstellen im Cluster auf.
CLUSTER_ENUM_SHARED_VOLUME_RESOURCE (1073741824 (0x40000000))
Listet die freigegebenen Clustervolumes auf, die vom Cluster verwendet werden.
CLUSTER_ENUM_INTERNAL_NETWORK (2147483648 (0x80000000))
Listet die Netzwerke auf, die vom Cluster für die interne Kommunikation verwendet werden. Die Netzwerke werden in der Reihenfolge der höchsten bis niedrigsten Priorität aufgelistet, wie von der SetClusterNetworkPriorityOrder-Funktion festgelegt.
CLUSTER_ENUM_ALL ((CLUSTER_ENUM_NODE | CLUSTER_ENUM_RESTYPE | CLUSTER_ENUM_RESOURCE | CLUSTER_ENUM_GROUP | CLUSTER_ENUM_NETWORK | CLUSTER_ENUM_NETINTERFACE))
Listet alle Clusterobjekte auf.
[out] lpszName
Ein Zeiger auf eine Unicode-Zeichenfolge mit Null-Beendigung, die den Namen des zurückgegebenen Objekts enthält.
[in, out] lpcchName
Ein Zeiger auf die Größe des lpszName-Puffers als Anzahl von Zeichen. Geben Sie bei der Eingabe die maximale Anzahl von Zeichen an, die der Puffer enthalten kann, einschließlich des beendenden NULL. Gibt bei der Ausgabe die Anzahl der Zeichen im resultierenden Namen an, wobei der beendende NULL-Wert ausgeschlossen wird.
Rückgabewert
Die Funktion gibt einen der folgenden Werte zurück.
Rückgabecode/-wert | BESCHREIBUNG |
---|---|
|
Der Vorgang wurde erfolgreich abgeschlossen. |
|
Es sind keine weiteren Daten verfügbar. Dieser Wert wird zurückgegeben, wenn keine weiteren Objekte des angeforderten Typs zurückgegeben werden sollen. |
|
Weitere Daten sind verfügbar. Dieser Wert wird zurückgegeben, wenn der Puffer, auf den lpszName verweist, nicht groß genug ist, um das Ergebnis zu halten. Der Parameter lpcchName gibt die Anzahl der Zeichen im Ergebnis zurück, wobei das beendende NULL ausgeschlossen wird. |
Hinweise
Die ClusterEnum-Funktion wird in der Regel verwendet, um eine Auflistung von Clusterobjekten eines oder mehrerer Typen zu durchlaufen. Wenn eine Anwendung beispielsweise alle Knoten in einem Cluster auflisten möchte, ruft sie ClusterOpenEnum auf, um einen Clusterumerator zu öffnen, der Knoten verarbeiten kann. Der dwType-Parameter ist auf CLUSTER_ENUM_NODE festgelegt, um Knoten als Aufzählungsobjekttyp anzugeben. Wenn die Anwendung zusätzlich zu Knoten Gruppen aufzählt, wird der dwType-Parameter auf CLUSTER_ENUM_NODE | CLUSTER_ENUM_GROUP
festgelegt. Mit dem Von ClusterOpenEnum zurückgegebenen Handle ruft die Anwendung ClusterEnum wiederholt auf, um die einzelnen Objekte abzurufen.
Der lpdwType-Parameter zeigt auf den Typ des abgerufenen Objekts.
Beachten Sie, dass lpcchName auf eine Anzahl von Zeichen und nicht auf die Anzahl von Bytes verweist, und dass die zurückgegebene Größe nicht den beendenden NULL in der Anzahl enthält. Weitere Informationen zur Größenanpassung von Puffern finden Sie unter Datengrößenkonventionen.
Beispiele
Weitere Informationen finden Sie unter Auflisten von Objekten.
Anforderungen
Unterstützte Mindestversion (Client) | Nicht unterstützt |
Unterstützte Mindestversion (Server) | Windows Server 2008 Enterprise, Windows Server 2008 Datacenter |
Zielplattform | Windows |
Kopfzeile | clusapi.h |
Bibliothek | ClusAPI.lib |
DLL | ClusAPI.dll |