IMAPISession::SetDefaultStore

适用于:Outlook 2013 | Outlook 2016

将消息存储建立为会话的默认消息存储。

HRESULT SetDefaultStore(
  ULONG ulFlags,
  ULONG cbEntryID,
  LPENTRYID lpEntryID
);

参数

ulFlags

[in]控制默认消息存储设置的标志的位掩码。 这些标志互斥:只能设置以下标志之一:

MAPI_DEFAULT_STORE

将消息存储建立为会话默认值。 汇报消息存储的状态表行,方法是在 PR_RESOURCE_FLAGS (PidTagResourceFlags) 列中设置STATUS_DEFAULT_STORE标志

MAPI_PRIMARY_STORE

将消息存储建立为登录时要使用的存储。 如果消息存储不是默认存储,则客户端应将其设置为默认存储。 通过在PR_RESOURCE_FLAGS列中设置STATUS_PRIMARY_STORE标志,汇报消息存储的状态表行。

MAPI_SECONDARY_STORE

在主消息存储不可用时,将消息存储建立为登录时要使用的存储。 如果客户端无法打开主存储区,则应打开辅助存储并将其设置为默认值。 汇报消息存储区的状态表行,方法是在PR_RESOURCE_FLAGS列中设置STATUS_SECONDARY_STORE标志。

MAPI_SIMPLE_STORE_PERMANENT

在其状态表行、消息存储表行和会话配置文件中设置消息存储的 PR_RESOURCE_FLAGS 属性中的STATUS_SIMPLE_STORE标志。

MAPI_SIMPLE_STORE_TEMPORARY

在其状态表行和消息存储表行中设置消息存储区 PR_RESOURCE_FLAGS 属性中的STATUS_SIMPLE_STORE标志。 不会修改配置文件。

cbEntryID

[in] lpEntryID 参数指向的条目标识符中的字节计数。

lpEntryID

[in]指向默认消息存储区条目标识符的指针。 如果客户端在 lpEntryID 中传递 NULL,则不会选择任何消息存储作为默认值。

返回值

S_OK

调用成功并返回了一个或多个预期值。

备注

IMAPISession::SetDefaultStore 方法将消息存储建立为以下内容之一:

  • 会话的默认消息存储。

  • 会话的主消息存储区。

  • 会话的辅助消息存储。

若要建立消息存储作为默认消息存储,消息存储必须在其 PR_STORE_SUPPORT_MASK (PidTagStoreSupportMask) 属性中设置以下标志:

  • STORE_SUBMIT_OK

  • STORE_CREATE_OK

  • STORE_MODIFY_OK

给调用方的说明

可以通过检索状态表并在“ PR_RESOURCE_FLAGS”列中 搜索STATUS_DEFAULT_STORE标志的设置来确定会话的默认消息存储。 具有此设置的行表示指定为会话默认值的消息存储。

设置MAPI_DEFAULT_STORE或MAPI_SIMPLE_STORE_PERMANENT标志时,MAPI 将更新配置文件、消息存储表和状态表。

每当对消息存储默认设置进行更改时,都会生成以下通知:

  • 消息存储和状态表中每个受影响的行都会发出 fnevTableModified 事件通知。

  • 向 MAPI 后台处理程序发出内部通知。 已在进行的操作无需更改即可完成;将针对新的默认存储处理涉及默认消息存储的新操作(例如消息下载)。

MFCMAPI 引用

有关 MFCMAPI 示例代码,请参阅下表。

文件 函数 Comment
MainDlg.cpp
CMainDlg::OnSetDefaultStore
MFCMAPI 使用 IMAPISession::SetDefaultStore 方法将所选存储设置为默认存储区。

另请参阅

PidTagResourceFlags 规范属性

PidTagStoreSupportMask 规范属性

TABLE_NOTIFICATION

IMAPISession : IUnknown

MFCMAPI 代码示例