diff -r 4816d766a08a -r f345bda72bc4 Symbian3/PDK/Source/GUID-E6D9F8CA-F293-5CE6-93C4-5FEC5EBCB2E9.dita --- a/Symbian3/PDK/Source/GUID-E6D9F8CA-F293-5CE6-93C4-5FEC5EBCB2E9.dita Tue Mar 30 11:42:04 2010 +0100 +++ b/Symbian3/PDK/Source/GUID-E6D9F8CA-F293-5CE6-93C4-5FEC5EBCB2E9.dita Tue Mar 30 11:56:28 2010 +0100 @@ -1,37 +1,37 @@ - - - - - -Asynchronous -service provider's responsibilitiesThis document describes the functionality required from an asynchronous -service provider. -

An asynchronous service provider must interact in the following ways with -its clients:

- -
See also

TRequestStatus

+ + + + + +Asynchronous +service provider's responsibilitiesThis document describes the functionality required from an asynchronous +service provider. +

An asynchronous service provider must interact in the following ways with +its clients:

+
    +
  • prior to initiating +a request, a request function must set the value of the passed TRequestStatus to KRequestPending, +which indicates that a request has been issued but not completed.

  • +
  • requests must be completed +by signalling the requesting thread’s request semaphore by calling RThread::RequestComplete() with +the TRequestStatus as the first parameter and the completion +code as the second parameter (which is placed in the TRequestStatus).

  • +
  • there must be a cancel +function which can cancel an outstanding request. In some cases, calling +the cancel function does not cause cancellation because the request is already +complete. In all cases, the request must be complete before the cancel function +returns.

  • +
  • if an asynchronous request +is made, it must complete precisely once, whether normally, abnormally, or +through cancellation.

  • +
  • completion through cancellation +is often indicated by a TRequestStatus code of KErrCancel.

  • +
+
See also

TRequestStatus

\ No newline at end of file