Skip to main content
ClusterNodeControl function

Initiates an operation that affects a node. The operation performed depends on the control code passed to the dwControlCode parameter.

Syntax


DWORD WINAPI ClusterNodeControl(
  _In_      HNODE   hNode,
  _In_opt_  HNODE   hHostNode,
  _In_      DWORD   dwControlCode,
  _In_opt_  LPVOID  lpInBuffer,
  _In_      DWORD   nInBufferSize,
  _Out_opt_ LPVOID  lpOutBuffer,
  _In_      DWORD   nOutBufferSize,
  _Out_opt_ LPDWORD lpBytesReturned
);

Parameters

hNode [in]

Handle to the node to be affected.

hHostNode [in, optional]

If non-NULL, handle to the node that will perform the operation instead of the node specified in hNode. If NULL, the node that handles the call performs the operation.

dwControlCode [in]

A node control code specifying the operation to be performed. For the syntax associated with a control code, refer to Control Code Architecture and the following topics:

lpInBuffer [in, optional]

Pointer to an input buffer containing information needed for the operation, or NULL if no information is needed.

nInBufferSize [in]

The allocated size (in bytes) of the input buffer.

lpOutBuffer [out, optional]

Pointer to an output buffer to receive the data resulting from the operation, or NULL if no data will be returned.

nOutBufferSize [in]

The allocated size (in bytes) of the output buffer.

lpBytesReturned [out, optional]

Returns the actual size (in bytes) of the data resulting from the operation. If this information is not needed, pass NULL for lpBytesReturned.

Return value

The function returns one of the following values.

ERROR_SUCCESS

The operation was successful. If the operation required an output buffer, lpBytesReturned (if not NULL on input) points to the actual size of the data returned in the buffer.

ERROR_MORE_DATA

The output buffer pointed to by lpOutBuffer was not large enough to hold the data resulting from the operation. The lpBytesReturned parameter (if not NULL on input) points to the size required for the output buffer. Only operations requiring an output buffer return ERROR_MORE_DATA. If the lpOutBuffer parameter is NULL and the nOutBufferSize parameter is zero, then ERROR_SUCCESS may be returned, not ERROR_MORE_DATA.

System error code

The operation was not successful. If the operation required an output buffer, the value specified by lpBytesReturned (if not NULL on input) is unreliable.

Remarks

If ClusterNodeControl returns ERROR_MORE_DATA, set nOutBufferSize to the number of bytes pointed to by lpBytesReturned and call the function again.

Do not pass LPC and RPC handles to the same function call. Otherwise, the call will raise an RPC exception and can have additional destructive effects. For information on how LPC and RPC handles are created, see LPC and RPC Handles and OpenCluster.

ClusterNodeControl is one of the control code functions. For more information on control codes and control code functions, see Using Control Codes.

Requirements

Minimum supported client

None supported

Minimum supported server

Windows Server 2008 Enterprise, Windows Server 2008 Datacenter

Header

ClusAPI.h

Library

ClusAPI.lib

DLL

ClusAPI.dll

See also

Node Control Codes
OpenCluster