18.104.22.168.43 ApiCreateGroup (Opnum 42)
(Protocol Version 2) The ApiCreateGroup method adds a resourcegroup to the nonvolatile cluster state and establishes context on the server about the interaction of a client with the new group by using the current RPC connection. The method returns a context handle so that the client can refer to the group in subsequent method calls.
The group contains no resources and is hosted on the node to which the current RPC connection was made. The initial persistent state of a group is offline and its preferred hosts list, as described in section 22.214.171.124.4, is initialized as empty.
The group ID MUST be assigned by the cluster at group creation and MUST NOT be changed until the group is deleted. The value that the cluster assigns for the group ID is implementation-specific but MUST comply with the requirements specified in section 126.96.36.199.4. The cluster SHOULD assign the group ID a Unicode string representation of a GUID in the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
A group MUST maintain a state sequence number that represents whether a change in the group's state has occurred. This sequence number MUST be initialized to zero when the group is created.
The server MUST fail the method by using ERROR_OBJECT_ALREADY_EXISTS if the group name is same as either the name or the id of a different group.
The server MUST accept an ApiCreateGroup request for processing only if it is in the read/write state, as specified in section 3.1.1.
HGROUP_RPC ApiCreateGroup( [in, string] LPCWSTR lpszGroupName, [out] error_status_t* Status );
lpszGroupName: A Unicode string that is the name associated with the group.
Status: Indicates the status of this operation. The server MUST set Status to the following error codes for the specified conditions.
The remote server has been paused or is in the process of being started.
See the preceding text for when this error can occur.
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 that are not listed in the preceding table the same, except as specified in section 188.8.131.52.