|
||
If you are a service provider, you can complete a request using either
User::RequestComplete()
, or
RThread::RequestComplete()
, passing the request status
object and the service provider's return code, a value other than
KRequestPending
. This results in the active object's
iStatus
member being set to the return code value and a signal
that the request is complete.
The current thread calls User::RequestComplete()
to complete
a request that originated in the current thread.
The current thread calls RThread::RequestComplete()
to
complete a request that originated in a different thread, i.e. the thread
represented by the RThread
object. Note that in this case,
the target thread must be in the same process as the current
thread. Any attempt to complete a request on a thread in another process is a
security violation, resulting in a KERN-EXEC 46 panic.