3.1.4.2.128 ApiCreateGroupEx (Opnum 129)

(Protocol Version 3) The ApiCreateGroupEx method SHOULD<108> extend functionality of the ApiCreateGroup (section 3.1.4.2.43) method, allowing the client to provide additional information about the group being created.

The server MUST handle this method in the same manner as ApiCreateGroup (section 3.1.4.2.43) except as specified later in this section for the pGroupInfo parameter.

 HGROUP_RPC ApiCreateGroupEx(
   [in, string] LPCWSTR lpszGroupName,
   [in, unique] PCLUSTER_CREATE_GROUP_INFO_RPC pGroupInfo,
   [out] error_status_t *Status,
   [out] error_status_t *rpc_status
 );

lpszGroupName: A Unicode string that is the name associated with the group.

pGroupInfo: Contains information about the group to be created. The client MUST set the dwVersion field of the CLUSTER_CREATE_GROUP_INFO_RPC (section 2.2.3.21) to 0x00000001. Except for the following reserved values, the client sets the dwGroupType field to an arbitrary value that the client can use to associate meaning or context with the group. Upon successful creation of the group, the server MUST set the group type to the value specified by the client and the server MUST treat all values identically. If a client does not need to associate any particular meaning or context with the group, the client SHOULD set the group type to 0x0000270F (ClusGroupTypeUnknown).

Value

Description

0x00000001

ClusGroupTypeReserved1

Reserved for local use.

0x00000002

ClusGroupTypeReserved2

Reserved for local use.

0x00000004

ClusGroupTypeReserved3

Reserved for local use.

0x00000005

ClusGroupTypeReserved4

Reserved for local use.

Status: Indicates the status of this operation. The server MUST set this parameter to one of the following error codes:

Value

Description

0x00000000

ERROR_SUCCESS

The operation completed successfully.

0x00000046

ERROR_SHARING_PAUSED

The remote server is paused or is in the process of being started.

0x00001392

ERROR_OBJECT_ALREADY_EXISTS

A group with the designated name already exists.

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

rpc_status: A 32-bit integer used to indicate success or failure. The RPC runtime MUST indicate, by writing to this parameter, whether it 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: This method MUST return a valid HGROUP_RPC context handle, as specified in section 2.2.1.3, to indicate success. Otherwise, it MUST return NULL.