Symbian中的iEikonEnv和iCoeEnv变量以及文件操作

转自devdiv:

1、文件服务器会话(File Server Session)

    Symbian中的文件操作离不开文件服务器会话api——RFs。文件服务器运行于EFile.exe中,RFs api提供了通往文件服务器的“通道”,通过RFs我们可以执行各种文件操作。

2、获取File Server Session的常用方法

1)使用RFs的Connect()方法:
RFs aFSSession;
User::LeaveIfError(aFSSession.Connect());
// 可以使用aFSSession
// ......

// 关闭file server session,释放相关资源
aFSSession.Close();


2)使用CCoeEnv:
    GUI程序拥有控件环境(CCoeEnv),CCoeEnv由app framework构造,它持有一个File Server Session,并提供一个FsSession()方法获取FSS:
RFs& aFSSession = iCoeEnv->FsSession();


在UI框架中,CEikApplication、CCoeAppUi和CCoeControl都拥有iCoeEnv成员,所以在这些类中都可以使用上面的代码获取FSS。

3)使用CCoeEnv::Static():
    在GUI程序中,如果你想在一些自己写的一些类中获取FSS,可以使用下列方法:
RFs& aFSSession = CCoeEnv::Static()->FsSession();

 在 CHelloWorldAppUi::ConstructL() 中也可以直接调用 iCoeEnv ,iCoeEnv 是protected 属性,默认是如此调用的,或者CCoeEnv::Static()->FsSession().MkDirAll(KFileName); 但是 这样 iCoeEnv->FsSession().MkDirAll(KFileName); 也是可以跑的,不知道这个 static实现什么功能?属性转换?


4)使用CEikonEnv:
    CEikonEnv继承自CCoeEnv,使用它来获取FSS与使用CCoeEnv是一样的。
RFs& aFSSession = iEikonEnv->FsSession();


或者:
RFs& aFSSession = CEikonEnv::Static()->FsSession();
说明:iEikonEnv定义于eikdef.h中
#define iEikonEnv (STATIC_CAST(CEikonEnv*,iCoeEnv))


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/andy205214/archive/2009/11/09/4790234.aspx

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值