184.108.40.206.118 ApiOpenGroupEx (Opnum 119)
(Protocol Version 3) The ApiOpenGroupEx method establishes context on the server about the interaction of a client with a specified clustergroup by means of the current RPC connection. ApiOpenGroupEx returns a context handle so that the client can refer to the group in subsequent method calls.
The server MUST determine the level of access to be granted to the client (section 3.1.4). Upon success, the server MUST associate that level of access with the group context it has established.
Servers SHOULD<88> support this method.
There are several ways by which the client can determine the name of the group to specify for the lpszGroupName parameter. A group can have a well-known name if the group was configured as such using implementation-specific methods between servers. Alternatively, a client can use ApiGetResourceState which returns the name of the group that a resource is contained in.
The server SHOULD accept an ApiOpenGroupEx 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.
HGROUP_RPC ApiOpenGroupEx( [in, string] LPCWSTR lpszGroupName, [in] DWORD dwDesiredAccess, [out] DWORD* lpdwGrantedAccess, [out] error_status_t* Status, [out] error_status_t* rpc_status );
lpszGroupName: A Unicode string that contains the name of the group for which to establish context on the server.
dwDesiredAccess: The value for this parameter is the same as specified for dwDesiredAccess in ApiOpenClusterEx.
lpdwGrantedAccess: The value for this parameter is the same as specified for lpdwGrantedAccess in ApiOpenClusterEx, with the additional stipulation that if the server sets lpdwGrantedAccess to GENERIC_READ and if the client has the backup privilege, as defined in [MS-LSAD], then the returned context handle can also be used in a subsequent call to ApiMoveGroup or ApiMoveGroupToNode.
Status: Indicates the status of this operation. The server MUST set Status to the following error codes for the specified conditions.
dwDesiredAccess indicates a level of access exceeding what the client is entitled to (section 3.1.4).
The remote server has been paused or is in the process of being started.
dwDesiredAccess is invalid, as specified earlier in this section.
The server does not support this method.
A group that matches the name lpszGroupName 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 that are not listed in the preceding table the same, except as specified in section 220.127.116.11.
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].