|
|
|
class RBusLogicalChannel : public RHandleBase;
The user-side handle to a logical channel.
The class provides functions that are used to open a channel to a device driver, and to make requests. A device driver provides a derived class to give the user-side a tailored interface to the driver.
RHandleBase - A handle to an object.
RBusLogicalChannel -
The user-side handle to a logical channel.
Defined in RBusLogicalChannel:
DoCancel(TUint)Cancels one or more outstanding asynchronous requests.DoControl(TInt)Makes a synchronous request to the device driver, taking no parameters.DoControl(TInt,TAny *)Makes a synchronous request to the device driver, taking one parameter.DoControl(TInt,TAny *,TAny *)Makes a synchronous request to the device driver, taking two parameters.DoCreate(const TDesC &,const TVersion &,TInt,const TDesC *,const TDesC8 *,TOwnerType,TBool)Creates the logical channel.DoRequest(TInt,TRequestStatus &)Queues an asynchronous request for the device driver, taking no parameters.DoRequest(TInt,TRequestStatus &,TAny *)Queues an asynchronous request for the device driver, taking one parameter.DoRequest(TInt,TRequestStatus &,TAny *,TAny *)Queues an asynchronous request for the device driver, taking two parameters.DoSvControl(TInt)DoSvControl(TInt,TAny *)DoSvControl(TInt,TAny *,TAny *)Open(RMessagePtr2,TInt,TOwnerType)Opens a handle to a logical channel using a handle number sent by a client to a ...Open(TInt,TOwnerType)Opens a logical channel handle using a handle number passed as an environment da...Inherited from RHandleBase:
Attributes()constBTraceId()constReturns a unique object identifier for use with BTrace
Close()Closes the handle.Duplicate(const RThread &,TOwnerType)Creates a valid handle to the kernel object for which the specified thread alrea...FullName()constGets the full name of the handle.FullName(TDes &)constGets the full name of the handle.Handle()constRetrieves the handle-number of the object associated with this handle.HandleInfo(THandleInfo *)Gets information about the handle.Name()constGets the name of the handle.Open(const TFindHandleBase &,TOwnerType)Opens a handle to a kernel side object found using a find-handle object.RHandleBase(TInt)Copy constructor.SetHandle(TInt)Sets the handle-number of this handle to the specified value.SetHandleNC(TInt)Sets the handle-number of this handle to the specified value, and marks it as no...SetReturnedHandle(TInt)Sets the handle-number of this handle to the specified value.iHandleIMPORT_C TInt Open(RMessagePtr2 aMessage, TInt aParam, TOwnerType aType=EOwnerProcess);
Opens a handle to a logical channel using a handle number sent by a client to a server.
This function is called by the server.
|
|
IMPORT_C TInt Open(TInt aArgumentIndex, TOwnerType aType=EOwnerProcess);
Opens a logical channel handle using a handle number passed as an environment data item to the child process during the creation of that child process.
Note that this function can only be called successfully once.
|
|
protected: inline TInt DoCreate(const TDesC &aDevice, const TVersion &aVer, TInt aUnit, const TDesC *aDriver, const TDesC8
*anInfo, TOwnerType aType=EOwnerProcess, TBool aProtected=EFalse);
Creates the logical channel.
|
|
protected: IMPORT_C void DoCancel(TUint aReqMask);
Cancels one or more outstanding asynchronous requests.
All outstanding requests complete with KErrCancel.
|
protected: IMPORT_C void DoRequest(TInt aReqNo, TRequestStatus &aStatus);
Queues an asynchronous request for the device driver, taking no parameters.
The request is handled on the kernel-side by the logical channel's DLogicalChannelBase::Request(TInt,TAny *,TAny *).
Outstanding requests can be cancelled by calling RBusLogicalChannel::DoCancel(TUint).
|
protected: IMPORT_C void DoRequest(TInt aReqNo, TRequestStatus &aStatus, TAny *a1);
Queues an asynchronous request for the device driver, taking one parameter.
The request is handled on the kernel-side by the logical channel's DLogicalChannelBase::Request(TInt,TAny *,TAny *).
Outstanding requests can be cancelled by calling RBusLogicalChannel::DoCancel(TUint).
|
protected: IMPORT_C void DoRequest(TInt aReqNo, TRequestStatus &aStatus, TAny *a1, TAny *a2);
Queues an asynchronous request for the device driver, taking two parameters.
The request is handled on the kernel-side by the logical channel's DLogicalChannelBase::Request(TInt,TAny *,TAny *).
Outstanding requests can be cancelled by calling RBusLogicalChannel::DoCancel(TUint).
|
protected: IMPORT_C TInt DoControl(TInt aFunction);
Makes a synchronous request to the device driver, taking no parameters.
This function does not return until the request has completed, successfully or otherwise.
|
|
protected: IMPORT_C TInt DoControl(TInt aFunction, TAny *a1);
Makes a synchronous request to the device driver, taking one parameter.
This function does not return until the request has completed, successfully or otherwise.
|
|
protected: IMPORT_C TInt DoControl(TInt aFunction, TAny *a1, TAny *a2);
Makes a synchronous request to the device driver, taking two parameters.
This function does not return until the request has completed, successfully or otherwise.
|
|
protected: inline TInt DoSvControl(TInt aFunction);
|
|