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

来源:互联网 发布:大数据 mobi 编辑:程序博客网 时间:2024/05/18 03:20

转自devdiv:

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

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

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

1)使用RFs的Connect()方法:
  1. RFs aFSSession;
  2. User::LeaveIfError(aFSSession.Connect());
  3. // 可以使用aFSSession
  4. // ......
  5. // 关闭file server session,释放相关资源
  6. aFSSession.Close();

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

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

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

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

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