3.1.4.2.133 ApiCancelClusterGroupOperation (Opnum 134)

(Protocol Version 3) The ApiCancelClusterGroupOperation SHOULD<117>allow a client to cancel a pending group move operation.

The server MUST fail this method with error 0x0000139F (ERROR_INVALID_STATE) if the specified group is not in the ClusterGroupPending state (section 3.1.4.2.46) or if the server is not retrying a move operation due to the CLUSAPI_GROUP_MOVE_QUEUE_ENABLED flag, as specified in sections 3.1.4.2.131 and 3.1.4.2.132. The server SHOULD fail this method with 0x0000139F (ERROR_INVALID_STATE) if the server determines that there is no operation in progress for the designated group that can be canceled. How the server determines whether there is a cancellable operation in progress is implementation-specific.

If the server accepts the ApiCancelClusterGroupOperation request and will process it asynchronously, the server MUST return ERROR_IO_PENDING.

The server accepts an ApiCancelClusterGroupOperation request 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 the hGroup parameter is "All" (section 3.1.4).

 error_status_t ApiCancelClusterGroupOperation(
   [in] HGROUP_RPC hGroup,
   [in] DWORD dwCancelFlags,
   [out] error_status_t *rpc_status
 );

hGroup: An HGROUP_RPC context handle that was obtained in a previous call to ApiOpenGroup (section 3.1.4.2.42), ApiOpenGroupEx (section 3.1.4.2.118), or ApiCreateGroup (section 3.1.4.2.43).

dwCancelFlags: Reserved. The client MUST set this parameter to 0.

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 one of the following values.

Return value/code

Description

0x00000000

ERROR_SUCCESS

The method completed successfully.

0x00000005

ERROR_ACCESS_DENIED

Access is denied.

0x00000057

ERROR_INVALID_PARAMETER

The dwCancelFlags parameter is not set to 0.

0x00000006

ERROR_INVALID_HANDLE

The hGroup parameter does not represent a valid HGROUP_RPC context handle.

0x000003E5

ERROR_IO_PENDING

The server has accepted the request and will process it asynchronously.

0x0000139F

ERROR_INVALID_STATE

The specified group is not moving or the group move operation is no longer cancellable.

For any other condition, the server returns 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 identically. However, the client SHOULD treat errors specified in section 3.2.4.6 as recoverable errors and initiate the reconnect procedure as specified in section 3.2.4.6.