IMAPISupport::Subscribe

适用于:Outlook 2013 | Outlook 2016

注册建议接收器以通过 MAPI 接收通知。

HRESULT Subscribe(
LPNOTIFKEY lpKey,
ULONG ulEventMask,
ULONG ulFlags,
LPMAPIADVISESINK lpAdviseSink,
ULONG FAR * lpulConnection
);

参数

lpKey

[in]指向表示建议源对象的通知键的指针。 lpKey 参数不能为 NULL。

ulEventMask

[in]一个值掩码,指示调用方感兴趣的通知事件类型,并且应包含在注册中。 以下值有效:

fnevCriticalError

注册有关严重错误的通知,例如内存不足。

fnevExtended

注册有关特定于特定通讯簿或消息存储提供程序的事件的通知。

fnevNewMail

注册有关新消息到达的通知。

fnevObjectCreated

注册有关创建新对象的通知。

fnevObjectCopied

注册有关正在复制对象的通知。

fnevObjectDeleted

注册有关正在删除对象的通知。

fnevObjectModified

注册有关正在修改对象的通知。

fnevObjectMoved

注册有关正在移动对象的通知。

fnevSearchComplete

注册有关搜索操作完成的通知。

ulFlags

[in]控制通知发生的标志的位掩码。 可以设置以下标志:

NOTIFY_SYNC

当调用方调用 IMAPISupport::Notify 方法为此建议接收器生成通知时, Notify 应在返回之前进行所有必要的调用来建议接收器。 如果未设置此标志,则通知是异步的,并且回调将排队到已订阅和启动的进程,当这些进程获得 CPU 控制权时。

lpAdviseSink

[in]指向建议接收器对象的指针。

lpulConnection

[out]指向表示注册的非零连接号的指针。

返回值

S_OK

通知注册成功。

备注

为所有服务提供商支持对象实现 IMAPISupport::Subscribe 方法。 服务提供商从其建议方法之一调用 Subscribe,以允许 MAPI 管理通知。

给调用方的说明

若要使用 MAPI 支持方法进行通知,请为建议源创建一个密钥,告知应生成通知的对象。 键的值必须是唯一的,并且应在每次对象更改时轻松重新生成。

MAPI 使用通知键搜索通过 HrAllocAdviseSink 函数注册的任何回调函数,以获取相应的建议源。 每当需要为相应的建议源生成通知时,将此密钥传递给 IMAPISupport::Notify

NOTIFY_SYNC标志会影响对 Notify 的后续调用的操作。 设置NOTIFY_SYNC时, “通知” 在完成发送所有必要的通知后才会返回。 如果未设置NOTIFY_SYNC, 则 Notify 将异步操作,可能在发送所有通知之前返回。

另请参阅

HrAllocAdviseSink

IMAPIAdviseSink::OnNotify

IMAPISupport::Notify

通知

NOTIFKEY

IMAPISupport : IUnknown