NOTIFICATION
适用于:Outlook 2013 | Outlook 2016
包含有关已发生的事件以及受该事件影响的数据的信息。
属性 | 值 |
---|---|
标头文件: |
Mapidefs.h |
typedef struct
{
ULONG ulEventType;
union
{
ERROR_NOTIFICATION err;
NEWMAIL_NOTIFICATION newmail;
OBJECT_NOTIFICATION obj;
TABLE_NOTIFICATION tab;
EXTENDED_NOTIFICATION ext;
STATUS_OBJECT_NOTIFICATION statobj;
} info;
} NOTIFICATION, FAR *LPNOTIFICATION;
Members
ulEventType
发生的通知事件类型。 ulEventType 成员的值对应于信息联合中包含的结构。 ulEventType 成员可以设置为以下值之一:
fnevCriticalError
发生了全局错误,例如会话正在关闭。 信息成员包含ERROR_NOTIFICATION结构。
fnevExtended
发生了由特定服务提供程序定义的内部事件。 信息成员包含EXTENDED_NOTIFICATION结构。
fnevNewMail
邮件已传递到邮件类的相应接收文件夹,正在等待处理。 信息成员包含NEWMAIL_NOTIFICATION结构。
fnevObjectCopied
已复制 MAPI 对象。 信息成员包含OBJECT_NOTIFICATION结构。
fnevObjectCreated
已创建 MAPI 对象。 信息成员包含OBJECT_NOTIFICATION结构。
fnevObjectDeleted
MAPI 对象已删除。 信息成员包含OBJECT_NOTIFICATION结构。
fnevObjectModified
MAPI 对象已更改。 信息成员包含OBJECT_NOTIFICATION结构。
fnevObjectMoved
已移动消息存储或通讯簿对象。 信息成员包含OBJECT_NOTIFICATION结构。
fnevSearchComplete
搜索操作已完成,结果可用。 信息成员包含OBJECT_NOTIFICATION结构。
fnevTableModified
表中的信息已更改。 信息成员包含TABLE_NOTIFICATION结构。
info
描述特定类型事件的受影响数据的通知结构的联合。 信息成员中包含的结构取决于 ulEventType 成员的值。
备注
每次调用已注册的建议接收器的 IMAPIAdviseSink::OnNotify 方法时,都会将一个或多个 NOTIFICATION 结构作为输入参数传递。 NOTIFICATION 结构包含有关已发生的特定事件的信息,并描述受影响的对象。
在接收通知的客户端或服务提供商可以使用 结构处理事件之前,它们必须检查 ulEventType 成员中指示的事件类型。 例如,此处显示的代码示例检查新消息的到达情况,并在检测到此类事件时输出消息的 message 类。
if (pNotif -> ulEventType == fnevNewMail)
{
printf("%s\n", pNotif -> newmail.lpszMessageClass)
}
有关通知的详细信息,请参阅下表中所述的主题。
主题 | 说明 |
---|---|
MAPI 中的事件通知 |
通知和通知事件的常规概述。 |
处理通知 |
讨论客户端应如何处理通知。 |
支持事件通知 |
讨论服务提供商如何使用 IMAPISupport 方法生成通知。 |