2.1.5.20 Server Requests Canceling an Operation
The server provides:
IORequest: An implementation-specific identifier that is unique for each outstanding IO operation, as described in [MS-CIFS] section 3.3.5.52.
No information is returned.
Cancellation provides the ability for operations that block for extended periods of time to be terminated, thus providing better end-user responsiveness. How operation cancellation is implemented is object store specific.
The Object Store MUST maintain a list of waiting operations that can be canceled by adding them to the CancelableOperations.CancelableOperationList as defined in section 2.1.1.12.
Each operation receives an implementation-specific identifier (IORequest) that uniquely identifies an in-progress I/O operation, as specified in section 2.1.5.
When a cancellation request is received, scan CancelableOperations.CancelableOperationList looking for an operation CanceledOperation that matches IORequest. If found, CanceledOperation MUST be removed from CancelableOperations.CancelableOperationList and CanceledOperation MUST be failed with STATUS_CANCELED returned for the status of the canceled operation. If not found, the cancel request returns performing no action.<197>