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 方法将所选存储设置为默认存储区。 |