3.1.4.2.153 ApiAddGroupSetDependency (Opnum 171)

The ApiAddGroupSetDependency method<140> instructs the server to add dependency from the group set that is identified by the DependentGroupSet parameter to the group set that is identified by the ProviderGroupSet parameter.

The server MUST fail this method using ERROR_INVALID_PARAMETER in the following cases:

  • If adding a dependency from the dependent group set to the provider group set would introduce a circular dependency.

  • If the dependent group set is a global group set and the provider group set is not a global group set.

  • If either the dependent group set or the provider group set is empty.

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

The server MUST require that the access level associated with DependentGroupSet context handle is "All" and the access level associated with ProviderGroupSet context handle is "All" (section 3.1.4).

 error_status_t
 ApiAddGroupSetDependency (
   [ in ] HGROUPSET_RPC DependentGroupSet,
   [ in ] HGROUPSET_RPC ProviderGroupSet,
   [ out ] error_status_t *rpc_status
 );

DependentGroupSet: An HGROUPSET_RPC (section 2.2.1.11) context handle that was obtained in a previous ApiOpenGroupSet (section 3.1.4.2.147) or ApiCreateGroupSet (section 3.1.4.2.146) method call. This field supplies the context handle to the group set that is dependent on the ProviderGroupSet.

ProviderGroupSet: An HGROUPSET_RPC context handle that was obtained in a previous ApiOpenGroupSet or ApiCreateGroupSet method calls. This field supplies the context handle to the group set that DependentGroupSet depends on.

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

ERROR_SUCCESS

0x00000000

Success.

ERROR_NOT_SUPPORTED

0x00000032

The request is not supported.

ERROR_INVALID_PARAMETER

0x00000057

The parameter is incorrect.

ERROR_EXCEPTION_IN_SERVICE

0x00000428

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

ERROR_CLUSTER_NODE_SHUTTING_DOWN

0x000013D1

The cluster node is shutting down in the cluster group set.

ERROR_GROUPSET_NOT_AVAILABLE

0x00001767

The group set represented by the DependentGroupSet or ProviderGroupSet parameter is not part of the nonvolatile cluster state.

ERROR_GROUPSET_NOT_FOUND

0x00001768

The cluster group set represented by the DependentGroupSet or ProviderGroupSet 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 sets represented by the DependentGroupSet or ProviderGroupSet parameter is not part of the nonvolatile cluster state.