3.1.4.1.67 ApiOpenNode (Opnum 66)

(Protocol Version 2) The ApiOpenNode method establishes context on the server about the interaction of a client with the specified cluster node by using the current RPC connection. ApiOpenNode returns a context handle so that the client can refer to the context that is created in subsequent method calls.

There are several ways by which the client can determine the name of the node to specify for the lpszNodeName parameter. A node can have a well-known name if the node was configured as such by using implementation-specific methods between servers. Optionally, a client can use ApiCreateEnum with enumeration type CLUSTER_ENUM_NODE, as specified in section 3.1.4.1.8. This method obtains a list of all node names in the cluster state. The client can then examine names or open nodes to call additional methods in order to determine which nodes to operate on.

The server SHOULD accept an ApiOpenNode request if its protocol server state is read-only and MUST accept the request for processing if it is in the read/write state, as specified in section 3.1.1.

 HNODE_RPC ApiOpenNode(
   [in, string] const wchar_t * lpszNodeName,
   [out] error_status_t *Status
 );

lpszNodeName: A null-terminated Unicode string that contains the computer name of the node for which to establish context on the server.

Status: Indicates the status of this operation. The server MUST set Status to the following error codes for the specified conditions.

Value

Meaning

ERROR_SUCCESS

0x00000000

Success.

ERROR_CLUSTER_NODE_NOT_FOUND

0x000013B2

A node that matches the name lpszNodeName was not found in the cluster configuration.

For any other condition, the server MUST set Status to a value that is not one of the values listed in the preceding table. The client MUST treat all values not listed in the preceding table the same, except as specified in section 3.2.4.6.

Return Values: The method MUST return a valid HNODE_RPC context handle, as specified in section 2.2.1.2, to indicate success; otherwise, it MUST return NULL.