WM 操作cemail.vol
来源:互联网 发布:手机录像软件推荐 编辑:程序博客网 时间:2024/05/22 10:45
Wince提供了簡單的數據庫系統,最多支持4种排序索引!能滿足一些數據量不大的數據的組織管理,最常見的
用處就是Cemail.vol管理信息内容。CEDB數據庫可以將數據庫文件存儲在卷中,而數據庫卷實際上是文件,容
易被用戶誤刪除。
標示一條數據的最基本數據是一個oid,數據與數據之間通過oid來建立配對的關係。
1.打開
裝配數據庫卷用到下面這個函數:
BOOL CeMountDBVol()
這個函數可以裝配或者創建一個數據庫卷,而我們在這裡用OPEN_EXISTING將cemail.vol裝備后得到guid,然後
進行下面的操作。同時我們需要CREATR_ALWAYS創建另外一個數據庫卷來備份cemail.vol的内容!
用CeFindFirstDatabaseEx找到cemail.vol的文件handle后,就可以開始準備打開vol進行操作.
創建數據庫卷的時候沒有打開數據庫卷,所以必須使用單獨的函數CeOpenDatabaseEx來打開數據庫卷.
2.read and store
打開vol之後就可以開始讀取數據了,讀取的同時在創建的新數據庫裏面創建一條數據,並將讀出的數據存入新
的數據庫當中
CeOidGetInfoEx返回一個結構体指針,這個結構体包含了每個數據對象的大量信息,以及其父oid,這個oid在
還原的時候起到很重要的作用。
在Create new databace 以及seekdatabase(同文件操作類似)后,開始讀取數據到buffer並備份
函數分別為
CeReadRecordPropsEx
CeWriteRecordProps
3.調整oid
調整oid其實說起來是很簡單的事,不過做起來比較繁雜,在cemail裏面,一條信息的存儲需要幾個對象分別完成,
還原的時候介於用戶的當前數據庫已經存在諸多oid,故不能確保備份文件中的oid是否會與已有oid衝突,所以需
要採取先創建,然後修改數據對象的内容,使之與新的 oid對應起來
在调整前我们可以使用一个叫做dbview的工具来查看cedb数据库中oid的状态!以确定需要调整的部分。
cemail中包含了以下几个数据卷,数据之间用oid进行关联
fldr*****, pmailAttachs, pmailFolder , pmaileMsgs, pmailOldTables ,pmailMsgClasses.pmailNamedProps
其中
pmailFolders包含了系统收件箱名称的信息,如mms outlook sms下面的各个folder名称
pmailMsg记录发件人的一些信息,这写信息同该发件人所发的内容(存储在fldr****中)通过oid对应起来
在遍历数据库的时候以上的部分都会读取到,可以很灵活的根据需要来调整oid
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/leimiaomiao/archive/2007/07/05/1679635.aspx
- WM 操作cemail.vol
- 关于Cemail.vol 文件
- Backup / Restore cemail.vol
- Cemail.vol可以被复制?
- 个人关于Cemail.vol 文件
- 个人关于Cemail.vol 文件的研究心得
- 个人关于Cemail.vol 文件的研究心得
- CEDB 读取cemail.vol实例(WindowsMobile5 读取CEDB数据库)
- SmartPhone下面几个vol(cemail.vol)等的解释 (转载)
- 一键安装备份3.9(自动卸载加载文件系统管理备份cemail.vol)
- 在PC机上远程操作WM手机
- 有关sim卡联系人和短信的操作(wm)
- WM菜单栏
- wm消息
- WM 背景灯
- WM全屏
- WM AlphaBlend
- 戏说WM
- 一个经典的面试题
- “从用户数据存储中检索信息时出错,未找到平台。”出错时的解决办法
- 11月17号,找房子,今天没有把时间安排好
- 文件编码的判定(UTF8,UTF16),及转换
- 设计模式笔记(1)---开篇
- WM 操作cemail.vol
- 常用到得系列按钮css样式
- msn升级问题
- web developer tips (64): 在GridView中转换BoundField为TemplateField
- MFC/C++/C中字符类型CString, int, string, char*之间的转换
- 防止输入Html标记的方法
- propertysheet
- C 宏定义的简单总结
- wince5.0 的重启以及待机后的叫起