3.1.4.2.150 ApiAddGroupToGroupSet (Opnum 167)

The ApiAddGroupToGroupSet method<137> adds the existing group to the cluster group set which is created successfully earlier using the ApiCreateGroupSet (section 3.1.4.2.146) or ApiOpenGroupSet (section 3.1.4.2.147) methods.

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

The server SHOULD accept an ApiAddGroupToGroupSet request if the access level associated with the GroupSet context handle is at least "Read" (section 3.1.4).

 error_status_t
 ApiAddGroupToGroupSet (
   [ in ] HGROUPSET_RPC GroupSet,
   [ in ] HGROUP_RPC Group,
   [ out ] error_status_t *rpc_status
 );

GroupSet: An HGROUPSET_RPC (section 2.2.1.11) context handle that was obtained in a previous ApiOpenGroupSet or ApiCreateGroupSet method call.

Group: An HGROUP_RPC (section 2.2.1.3) context handle that was obtained in a previous ApiOpenGroup (section 3.1.4.2.42) or ApiCreateGroup (section 3.1.4.2.43) method call.

rpc_status: A 32-bit integer used to indicate success or failure. The RPC runtime MUST indicate by writing to this parameter whether the runtime succeeded in executing this method on the server. The encoding of the value passed in this parameter MUST conform to encoding for comm_status and fault_status, as specified in Appendix E of [C706].

Return Values: The method MUST return the following error codes for the specified conditions.

Return value/code

Description

0x00000000

ERROR_SUCCESS

Success.

0x00000006

ERROR_INVALID_HANDLE

The GroupSet parameter does not represent a valid HGROUPSET_RPC context handle.

0x00000032

ERROR_NOT_SUPPORTED

The request is not supported.

0x00000091

ERROR_DIR_NOT_EMPTY

One or more resources are contained in the group set represented by GroupSet.

0x000000B7

ERROR_ALREADY_EXISTS

The group cannot be added because it already exists in the GroupSet.

0x00000428

ERROR_EXCEPTION_IN_SERVICE

An exception occurred in the service when handling the control request.

0x0000139F

ERROR_INVALID_STATE

The group or resource is not in the correct state to perform the requested operation.

0x000013D1

ERROR_CLUSTER_NODE_SHUTTING_DOWN

The cluster node is shutting down in cluster group set represented by GroupSet.

0x00001767

ERROR_GROUPSET_NOT_AVAILABLE

The group represented in the GroupSet parameter is not part of the nonvolatile cluster state.

0x00001768

ERROR_GROUPSET_NOT_FOUND

The cluster group set represented by the GroupSet parameter is not available for any further requests.

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

The server MUST return ERROR_GROUPSET_NOT_AVAILABLE if at the time the server receives the request from the client, the group set represented by the GroupSet parameter is not part of the nonvolatile cluster state.

The server MUST return ERROR_GROUPSET_NOT_FOUND if the server determines that the group set represented by the GroupSet parameter has already been deleted. This is determined while communicating with other servers to delete the group from the nonvolatile cluster state. The manner of determination is implementation-specific.