HrValidateIPMSubtree
适用于:Outlook 2013 | Outlook 2016
将标准人际消息 (IPM) 文件夹添加到消息存储区。
属性 | 值 |
---|---|
标头文件: | Mapiutil.h |
实现者: | MAPI |
调用者: | 客户端应用程序 |
HrValidateIPMSubtree(
LPMDB lpMDB,
ULONG ulFlags,
ULONG FAR * lpcValues,
LPSPropValue FAR * lppProps,
LPMAPIERROR FAR * lppMapiError
);
参数
lpMDB
[in]指向要向其添加文件夹的邮件存储对象的指针。
ulFlags
[in]用于控制文件夹创建方式的标志的位掩码。 可以设置以下标志:
MAPI_FORCE_CREATE
应在创建之前验证文件夹,即使消息存储属性指示它们有效。 当错误指示现有文件夹的结构已损坏时,客户端应用程序通常会设置此标志。
MAPI_FULL_IPM_TREE
应在邮件存储的根文件夹中创建完整的 IPM 文件夹集。 层次结构中的文件夹标题为:
- 文件夹视图
- 通用视图
- 搜索根*
- IPM 子树*
- Inbox
- 发件箱
- 已删除的项目*
- 已发送邮件
其中,标有 * 的三个文件夹是创建的最小集,即使尚未设置MAPI_FULL_IPM_TREE标志。 当要在其中创建文件夹的消息存储区是默认存储区时,客户端应用程序通常会设置此标志。
lpcValues
[in,out]指向 lppProps 参数中返回的数组中 SPropValue 结构数的指针 。 如果 lppProps 为 NULL,则 lpcValues 参数的值可以为零。
lppProps
[in,out]指向 SPropValue 结构的数组的指针,该数组包含 pidTagValidFolderMask) 属性和相应文件夹条目标识符属性 (的 PR_VALID_FOLDER_MASK 属性值。 如果 HrValidateIPMSubtree 在邮件存储中创建收件箱, 则 SPropValue 数组包含一个收件箱条目标识符,其中包含编码为
PROP_TAG(PT_BINARY, PROP_ID_NULL)
的特殊属性标记。 lppProps 参数可以为 NULL,指示调用实现不需要返回 SPropValue 数组。
lppMapiError
[out]指向 MAPIERROR 结构的指针的指针,该结构包含错误的版本、组件和上下文信息。 如果未返回 MAPIERROR 结构,则 lppMAPIError 参数设置为 NULL。
返回值
无。
说明
当首次打开存储或将存储设置为默认存储时,MAPI 在内部使用 HrValidateIPMSubtree 函数在消息存储中构造标准 IPM 子树。 客户端应用程序还可以使用此函数来验证或修复标准邮件文件夹。
HrValidateIPMSubtree 始终在存储的根文件夹中创建搜索根文件夹和 IPM 子树文件夹,并在 IPM 子树文件夹中创建已删除邮件文件夹。 IPM 子树文件夹是该消息存储中 IPM 层次结构的根目录。 搜索根文件夹可用作搜索结果文件夹的子树的根目录。
IPM 客户端应从 IPM 子树根文件夹开始显示其文件夹视图,并在其下显示子文件夹。 消息存储的根文件夹中的信息不应显示在客户端的用户界面中。 此功能意味着,如果客户端必须隐藏信息,则可以将信息放入 IPM 子树根目录中,该目录对用户不可见。 相反,要求消息和文件夹对用户不可见的非 IPM 应用程序(例如,在基于服务器的消息存储中)可以将它们置于 IPM 层次结构之外。
HrValidateIPMSubtree 设置 PR_VALID_FOLDER_MASK 属性,以指示它创建的每个 IPM 文件夹是否具有有效的条目标识符。 邮件存储的以下条目标识符属性设置为相应文件夹的条目标识符,并在 lppProps 参数中返回 PR_VALID_FOLDER_MASK:
PR_COMMON_VIEWS_ENTRYID (PidTagCommonViewsEntryId)
PR_FINDER_ENTRYID (PidTagFinderEntryId)
PR_IPM_OUTBOX_ENTRYID (PidTagIpmOutboxEntryId)
PR_IPM_SENTMAIL_ENTRYID (PidTagIpmSentMailEntryId)
PR_IPM_SUBTREE_ENTRYID (PidTagIpmSubtreeEntryId)
PR_IPM_WASTEBASKET_ENTRYID (PidTagIpmWastebasketEntryId)
PR_VIEWS_ENTRYID (PidTagViewsEntryId)
IPM 收件箱 (PT_BINARY 的占位符PROP_TAG,PROP_ID_NULL) 。
MFCMAPI 引用
有关 MFCMAPI 示例代码,请参阅下表。
文件 | 函数 | Comment |
---|---|---|
MstStoreDlg.cpp | CMsgStoreDlg::OnValidateIPMSubtree | MFCMAPI 使用 HrValidateIPMSubtree 方法将标准文件夹添加到消息存储区。 |