转自devdiv:
1、文件服务器会话(File Server Session)
Symbian中的文件操作离不开文件服务器会话api——RFs。文件服务器运行于EFile.exe中,RFs api提供了通往文件服务器的“通道”,通过RFs我们可以执行各种文件操作。
2、获取File Server Session的常用方法
1)使用RFs的Connect()方法:
2)使用CCoeEnv:
GUI程序拥有控件环境(CCoeEnv),CCoeEnv由app framework构造,它持有一个File Server Session,并提供一个FsSession()方法获取FSS:
在UI框架中,CEikApplication、CCoeAppUi和CCoeControl都拥有iCoeEnv成员,所以在这些类中都可以使用上面的代码获取FSS。
3)使用CCoeEnv::Static():
在GUI程序中,如果你想在一些自己写的一些类中获取FSS,可以使用下列方法:
4)使用CEikonEnv:
CEikonEnv继承自CCoeEnv,使用它来获取FSS与使用CCoeEnv是一样的。
或者:
说明:iEikonEnv定义于eikdef.h中
- RFs aFSSession;
- User::LeaveIfError(aFSSession.Connect());
- // 可以使用aFSSession
- // ......
- // 关闭file server session,释放相关资源
- aFSSession.Close();
GUI程序拥有控件环境(CCoeEnv),CCoeEnv由app framework构造,它持有一个File Server Session,并提供一个FsSession()方法获取FSS:
- RFs& aFSSession = iCoeEnv->FsSession();
3)使用CCoeEnv::Static():
在GUI程序中,如果你想在一些自己写的一些类中获取FSS,可以使用下列方法:
- RFs& aFSSession = CCoeEnv::Static()->FsSession();
CEikonEnv继承自CCoeEnv,使用它来获取FSS与使用CCoeEnv是一样的。
- RFs& aFSSession = iEikonEnv->FsSession();
- RFs& aFSSession = CEikonEnv::Static()->FsSession();
- #define iEikonEnv (STATIC_CAST(CEikonEnv*,iCoeEnv))