Freigeben über


ClusterControl-Funktion (clusapi.h)

Initiiert einen Vorgang, der sich auf einen Cluster auswirkt. Der ausgeführte Vorgang hängt vom Steuerelementcode ab, der an den dwControlCode-Parameter übergeben wird.

Syntax

DWORD ClusterControl(
  [in]            HCLUSTER hCluster,
  [in, optional]  HNODE    hHostNode,
  [in]            DWORD    dwControlCode,
  [in, optional]  LPVOID   lpInBuffer,
  [in]            DWORD    nInBufferSize,
  [out, optional] LPVOID   lpOutBuffer,
  [in]            DWORD    nOutBufferSize,
  [out, optional] LPDWORD  lpBytesReturned
);

Parameter

[in] hCluster

Handle für den Cluster, der betroffen ist.

[in, optional] hHostNode

Wenn nicht NULL, handle an den Knoten, um den vorgang auszuführen, der durch den Steuerelementcode dargestellt wird. Wenn NULL, führt der lokale Knoten den Vorgang aus. Die Angabe von hHostNode ist optional.

[in] dwControlCode

Ein Clustersteuerelementcode aus der CLUSCTL_CLUSTER_CODES-Enumeration , der den auszuführenden Vorgang angibt. Informationen zur Syntax, die einem Steuerelementcode zugeordnet ist, finden Sie unter Steuerelementcodearchitektur und in den folgenden Themen:

[in, optional] lpInBuffer

Zeiger auf einen Eingabepuffer, der informationen enthält, die für den Vorgang erforderlich sind, oder NULL , wenn keine Informationen benötigt werden.

[in] nInBufferSize

Die zugeordnete Größe (in Bytes) des Eingabepuffers.

[out, optional] lpOutBuffer

Zeiger auf einen Ausgabepuffer zum Empfangen der daten, die sich aus dem Vorgang ergeben, oder NULL , wenn keine Daten zurückgegeben werden.

[in] nOutBufferSize

Die zugeordnete Größe (in Bytes) des Ausgabepuffers.

[out, optional] lpBytesReturned

Gibt die tatsächliche Größe (in Bytes) der Daten zurück, die sich aus dem Vorgang ergeben. Wenn diese Informationen nicht benötigt werden, übergeben Sie NULL für lpcbBytesReturned.

Rückgabewert

Die Funktion gibt einen der folgenden Werte zurück.

Rückgabecode Beschreibung
ERROR_SUCCESS
Der Vorgang wurde durchgeführt. Wenn für den Vorgang ein Ausgabepuffer erforderlich ist, verweist lpcbBytesReturned (wenn nicht NULL bei der Eingabe) auf die tatsächliche Größe der im Puffer zurückgegebenen Daten.
ERROR_MORE_DATA
Der Ausgabepuffer, auf den lpOutBuffer verweist, war nicht groß genug, um die daten, die sich aus dem Vorgang ergeben, aufzunehmen. Der lpcbBytesReturned-Parameter (wenn er bei der Eingabe nicht NULL ist) verweist auf die größe, die für den Ausgabepuffer erforderlich ist. Nur Vorgänge, die einen Ausgabepuffer erfordern, geben ERROR_MORE_DATA zurück. Wenn der lpOutBuffer-ParameterNULL und der nOutBufferSize-Parameter null ist, können ERROR_SUCCESS zurückgegeben werden, nicht ERROR_MORE_DATA.
Systemfehlercode
Der Vorgang war nicht erfolgreich. Wenn für den Vorgang ein Ausgabepuffer erforderlich ist, ist der von lpcbBytesReturned angegebene Wert (wenn bei der Eingabe nicht NULL ) angegeben wird, unzuverlässig.

Hinweise

Wenn ClusterControlERROR_MORE_DATA zurückgibt, legen Sie nOutBufferSize auf die Anzahl der Bytes fest, auf die lpcbBytesReturned verweist, und rufen Sie die Funktion erneut auf.

Übergeben Sie LPC- und RPC-Handles nicht an denselben Funktionsaufruf. Andernfalls löst der Aufruf eine RPC-Ausnahme aus und kann zusätzliche destruktive Auswirkungen haben. Informationen dazu, wie LPC- und RPC-Handles erstellt werden, finden Sie unter LPC- und RPC-Handles und OpenCluster.

ClusterControl ist eine der Steuerelementcodefunktionen. Weitere Informationen zu Steuercodes und Steuerelementcodefunktionen finden Sie unter Verwenden von Steuercodes.

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

Weitere Informationen

Clustersteuerungscodes

OpenCluster