Symbian OS中的Client/Server机制分析
2010-09-06 08:10:00 来源:WEB开发网IMPORT_C TInt Open(TInt aArgumentIndex, const TSecurityPolicy& aServerPolicy, TOwnerType aType=EOwnerProcess);
inline TInt SetReturnedHandle(TInt aHandleOrError);
IMPORT_C TInt SetReturnedHandle(TInt aHandleOrError,const TSecurityPolicy& aServerPolicy);
protected:
inline TInt CreateSession (const TDesC& aServer,const TVersion& aVersion);
IMPORT_C TInt CreateSession (const TDesC& aServer,const TVersion& aVersion,TInt aAsyncMessageSlots);
IMPORT_C TInt CreateSession (const TDesC& aServer,const TVersion& aVersion,TInt aAsyncMessageSlots,TIpcSessionType aType,const TSecurityPolicy* aPolicy=0, TRequestStatus* aStatus=0);
inline TInt CreateSession (RServer2 aServer,const TVersion& aVersion);
IMPORT_C TInt CreateSession (RServer2 aServer,const TVersion& aVersion,TInt aAsyncMessageSlots);
IMPORT_C TInt CreateSession (RServer2 aServer,const TVersion& aVersion,TInt aAsyncMessageSlots,TIpcSessionType aType,const TSecurityPolicy* aPolicy=0, TRequestStatus* aStatus=0);
inline static TInt SetReturnedHandle(TInt aHandleOrError,RHandleBase& aHandle);
inline TInt Send (TInt aFunction,const TIpcArgs& aArgs) const;
inline void SendReceive (TInt aFunction,const TIpcArgs& aArgs,TRequestStatus& aStatus) const;
inline TInt SendReceive (TInt aFunction,const TIpcArgs& aArgs) const;
inline TInt Send (TInt aFunction) const;
inline void SendReceive (TInt aFunction,TRequestStatus& aStatus) const;
inline TInt SendReceive (TInt aFunction) const;
。。。
};
这个类提供了很多重载的CreateSession ()方法,根据需要进行选择,涉及到几个概念就是消息槽和IPC Session的类型,可以根据SDK的描述使用,SDK有详细的阐述,没有用到过,这里就不详述了。
SendReceive ()也有很多重载的方法,主要是同/异步的选择,那些没有
更多精彩
赞助商链接