Windows Mobile MAPI 入门教程
2010-06-22 03:11:00 来源:WEB开发网调用了FormClosing之后,格式发送一个WM_CLOSE消息给父格式(which it received from the Messaging application on creation),这样就清楚了窗体句柄并不再使用。
4 Message Stores 消息仓库
消息仓库就是一个在基于Windows Mobile构建的设备上存放消息的本地档案文件。一个消息仓库对应一个消息账号,每个消息账号都联系着消息传输模块。举例来说,你可能使用Pocket PC服务于3个POP3邮件账号。在这种情况下,你可能需要4个消息仓库:一个用来存放通过ActiveSync传输的Outlook E-Mail,两个通过POP3传输的Outlook E-Mail,和一个通过短信息(SMS)传输的文字消息。
Mobile设备的Windows Mobile2003 第二个版本及以后的软件,使用一个消息仓库,称之为Outlook E-Mail,带有电话功能的设备使用另一个消息仓库,用来存放短消息(SMS)文字消息,称之为文本消息。在Windows Mobile 2003之前,这些消息仓库被分别称为ActiveSync和短消息(SMS)。
消息仓库分配了folder来包含和管理其子集合,也就是消息作为条目,到达的消息被存放进指定的接受folder中,在Windows Mobile 消息应用程序中,它被称为收件箱。
消息客户端应用程序使用IMsgStore接口和消息仓库通信,通过这个接口,你能够做以下的事情:
打开folders和消息,并获得他们的指针,以便进行更多的处理(folder的IMAPIFolder接口和消息的IMessage接口)。
得到,设置,删除folder和消息的属性。
注册接受指定事件的通知,一般是更改了消息仓库内容的事件。
在你能够操作一个消息仓库之前,你必需初始化MAPI子系统,并且开始一个MAPI会话(MAPI Session),它返回一个IMAPISession接口对象的参考,这个接口让你能够操作消息仓库的表,消息仓库,消息目录(译者注:Message folders)和消息。
开始MAPI会话
1. (译者注:首先初始化MAPI:)增加MAPI子系统参考计数器,并且使用全局MAPI MAPIInitialize函数初始化MAPI DLL的全局数据,如下所示:
hr = MAPIInitialize(NULL);
2. 使用全局MAPI MAPILogonEx的函数开始一个MAPI会话,并且得到一个ICEMAPISession接口对象的参考:
hr = MAPILogonEx(0, NULL, NULL, 0, (LPMAPISESSION *)&pSession);
示例代码
下面的示例代码演示了如何开始一个MAPI会话。
更多精彩
赞助商链接