Compartir a través de


Función ClusterControl (clusapi.h)

Inicia una operación que afecta a un clúster. La operación realizada depende del código de control pasado al parámetro dwControlCode .

Sintaxis

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
);

Parámetros

[in] hCluster

Identificador del clúster que se va a ver afectado.

[in, optional] hHostNode

Si no es NULL, controle al nodo para realizar la operación representada por el código de control. Si es NULL, el nodo local realiza la operación. Especificar hHostNode es opcional.

[in] dwControlCode

Código de control de clúster de la enumeración CLUSCTL_CLUSTER_CODES que especifica la operación que se va a realizar. Para obtener la sintaxis asociada a un código de control, consulte Arquitectura de código de control y los temas siguientes:

[in, optional] lpInBuffer

Puntero a un búfer de entrada que contiene información necesaria para la operación o NULL si no se necesita información.

[in] nInBufferSize

Tamaño asignado (en bytes) del búfer de entrada.

[out, optional] lpOutBuffer

Puntero a un búfer de salida para recibir los datos resultantes de la operación o NULL si no se devolverán datos.

[in] nOutBufferSize

Tamaño asignado (en bytes) del búfer de salida.

[out, optional] lpBytesReturned

Devuelve el tamaño real (en bytes) de los datos resultantes de la operación. Si esta información no es necesaria, pase NULL para lpcbBytesReturned.

Valor devuelto

La función devuelve uno de los valores siguientes.

Código devuelto Descripción
ERROR_SUCCESS
La operación se realizó correctamente. Si la operación requería un búfer de salida, lpcbBytesReturned (si no es NULL en la entrada) apunta al tamaño real de los datos devueltos en el búfer.
ERROR_MORE_DATA
El búfer de salida al que apunta lpOutBuffer no era lo suficientemente grande como para contener los datos resultantes de la operación. El parámetro lpcbBytesReturned (si no es NULL en la entrada) apunta al tamaño necesario para el búfer de salida. Solo las operaciones que requieren un búfer de salida devuelven ERROR_MORE_DATA. Si el parámetro lpOutBuffer es NULL y el parámetro nOutBufferSize es cero, se puede devolver ERROR_SUCCESS, no ERROR_MORE_DATA.
Código de error del sistema
La operación no se realizó correctamente. Si la operación requiere un búfer de salida, el valor especificado por lpcbBytesReturned (si no es NULL en la entrada) no es confiable.

Comentarios

Si ClusterControl devuelve ERROR_MORE_DATA, establezca nOutBufferSize en el número de bytes a los que apunta lpcbBytesReturned y vuelva a llamar a la función.

No pase los identificadores LPC y RPC a la misma llamada de función. De lo contrario, la llamada generará una excepción RPC y puede tener efectos destructivos adicionales. Para obtener información sobre cómo se crean los identificadores LPC y RPC, consulte Identificadores LPC y RPC y OpenCluster.

ClusterControl es una de las funciones de código de control. Para obtener más información sobre los códigos de control y las funciones de código de control, vea Uso de códigos de control.

Requisitos

   
Cliente mínimo compatible No se admite ninguno
Servidor mínimo compatible Windows Server 2008 Enterprise, Windows Server 2008 Datacenter
Plataforma de destino Windows
Encabezado clusapi.h
Library ClusAPI.lib
Archivo DLL ClusAPI.dll

Consulte también

Códigos de control de clúster

OpenCluster