2.1.5.20 Server Requests Canceling an Operation

msdn link

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.<187>