PCLUSTER_SETUP_PROGRESS_CALLBACK callback function (clusapi.h)

Callback function that receives regular updates on the progression of the setup of the cluster. This callback is used during processing of the CreateCluster, AddClusterNode, and DestroyCluster functions.

Syntax

PCLUSTER_SETUP_PROGRESS_CALLBACK PclusterSetupProgressCallback;

BOOL PclusterSetupProgressCallback(
  [in, optional] PVOID pvCallbackArg,
  [in]           CLUSTER_SETUP_PHASE eSetupPhase,
  [in]           CLUSTER_SETUP_PHASE_TYPE ePhaseType,
  [in]           CLUSTER_SETUP_PHASE_SEVERITY ePhaseSeverity,
  [in]           DWORD dwPercentComplete,
  [in, optional] PCWSTR lpszObjectName,
  [in] [in]      DWORD dwStatus
)
{...}

Parameters

[in, optional] pvCallbackArg

pvCallbackArg parameter passed to the CreateCluster, AddClusterNode, or DestroyCluster function.

[in] eSetupPhase

Value from the CLUSTER_SETUP_PHASE enumeration that gives the current setup phase. The parameter can be one of the following values.

ClusterSetupPhaseInitialize (1)

Initialize cluster setup.

ClusterSetupPhaseValidateNodeState (100)

Validate cluster nodes.

ClusterSetupPhaseValidateNetft (102)

Validate cluster networks.

ClusterSetupPhaseValidateClusDisk (103)

Validate cluster disks.

ClusterSetupPhaseConfigureClusSvc (104)

Configure cluster service.

ClusterSetupPhaseStartingClusSvc (105)

Start cluster service.

ClusterSetupPhaseQueryClusterNameAccount (106)

Query cluster name.

ClusterSetupPhaseValidateClusterNameAccount (107)

Validate cluster name.

ClusterSetupPhaseCreateClusterAccount (108)

Create cluster account.

ClusterSetupPhaseConfigureClusterAccount (109)

Configure cluster account.

ClusterSetupPhaseFormingCluster (200)

Form the cluster.

ClusterSetupPhaseAddClusterProperties (201)

Add properties to cluster.

ClusterSetupPhaseCreateResourceTypes (202)

Create resource types.

ClusterSetupPhaseCreateGroups (203)

Create resource groups.

ClusterSetupPhaseCreateIPAddressResources (204)

Create IP address resources.

ClusterSetupPhaseCreateNetworkName (205)

Create network name.

ClusterSetupPhaseClusterGroupOnline (206)

Bring cluster groups online.

ClusterSetupPhaseGettingCurrentMembership (300)

Get current cluster membership.

ClusterSetupPhaseAddNodeToCluster (301)

Add node to cluster membership.

ClusterSetupPhaseNodeUp (302)

Start node.

ClusterSetupPhaseMoveGroup (400)

Move group to another node.

ClusterSetupPhaseDeleteGroup (401)

Delete group from cluster.

ClusterSetupPhaseCleanupCOs (402)

Clean up offline group.

ClusterSetupPhaseOfflineGroup (403)

Move group offline.

ClusterSetupPhaseEvictNode (404)

Remove a node from the cluster.

ClusterSetupPhaseCleanupNode (405)

Return node to pre-clustered state.

ClusterSetupPhaseCoreGroupCleanup (406)

Return core resource group to pre-clustered state.

ClusterSetupPhaseFailureCleanup (999)

Return failed resource to pre-clustered state.

[in] ePhaseType

Value from the CLUSTER_SETUP_PHASE_TYPE enumeration that gives the current setup phase type. The parameter can be one of the following values.

ClusterSetupPhaseStart (1)

Indicates the start of a new setup phase as passed in the eSetupPhase parameter.

ClusterSetupPhaseContinue (2)

Indicates the continuation of a setup phase as passed in the eSetupPhase parameter. This callback can be repeated during the processing of the specific setup phase and type.

ClusterSetupPhaseEnd (3)

Called once at the end of every setup phase as passed in the eSetupPhase parameter.

[in] ePhaseSeverity

Value from the CLUSTER_SETUP_PHASE_SEVERITY enumeration that gives the current setup phase severity. The parameter can be one of the following values.

ClusterSetupPhaseInformational (1)

This phase of the cluster setup can complete successfully.

ClusterSetupPhaseWarning (2)

This phase of the cluster setup can complete, with a warning.

ClusterSetupPhaseFatal (3)

This phase of the cluster setup process cannot complete successfully.

[in] dwPercentComplete

Indicates approximate percentage of setup that has been completed.

Range: 0–100

[in, optional] lpszObjectName

Name of the object.

[in] [in] dwStatus

Status

Return value

TBD

Remarks

The PCLUSTER_SETUP_PROGRESS_CALLBACK type defines a pointer to this function.

The MSCluster_EventClusterCallback MOF class is used in a similar manner.

Requirements

Requirement Value
Minimum supported client None supported
Minimum supported server Windows Server 2008 Datacenter, Windows Server 2008 Enterprise
Target Platform Windows
Header clusapi.h

See also

AddClusterNode

CLUSTER_SETUP_PHASE

CLUSTER_SETUP_PHASE_SEVERITY

CLUSTER_SETUP_PHASE_TYPE

Cluster Management Functions

CreateCluster

DestroyCluster

MSCluster_EventClusterCallback