Поделиться через


HrValidateIPMSubtree

Область применения: Outlook 2013 | Outlook 2016

Добавляет стандартные папки межличностных сообщений (IPM) в хранилище сообщений.

Свойство Значение
Файл заголовка: Mapiutil.h
Реализовано в: MAPI
Вызывающая сторона: Клиентские приложения
HrValidateIPMSubtree(
  LPMDB lpMDB,
  ULONG ulFlags,
  ULONG FAR * lpcValues,
  LPSPropValue FAR * lppProps,
  LPMAPIERROR FAR * lppMapiError
);

Параметры

lpMDB

[в] Указатель на объект хранилища сообщений, в который добавляются папки.

ulFlags

[в] Битовая маска флагов, используемая для управления созданием папок. Можно задать следующие флаги:

MAPI_FORCE_CREATE

Папки должны быть проверены перед созданием, даже если свойства хранилища сообщений указывают на их допустимость. Клиентское приложение обычно устанавливает этот флаг, если ошибка указывает на повреждение структуры существующей папки.

MAPI_FULL_IPM_TREE

Полный набор папок IPM должен быть создан в корневой папке хранилища сообщений. Названия папок в иерархии:

  • Представления папок
  • Общие представления
  • Корневой каталог поиска*
  • Поддеревь IPM*
  • Inbox;
  • Исходящие
  • Удаленные*
  • Отправленные

где три папки, помеченные *, являются минимальным набором, созданным, даже если флаг MAPI_FULL_IPM_TREE не установлен. Клиентское приложение обычно устанавливает этот флаг, если хранилище сообщений, в котором должны быть созданы папки, является хранилищем по умолчанию.

lpcValues

[вход, выход] Указатель на количество структур SPropValue в массиве, возвращенном в параметре lppProps . Значение параметра lpcValues может быть равным нулю, если lppProps имеет значение NULL.

lppProps

[вход, выход] Указатель на указатель на массив структур SPropValue , содержащий значения свойств для свойства PR_VALID_FOLDER_MASK (PidTagValidFolderMask) и для соответствующих свойств идентификатора входа в папку. Если HrValidateIPMSubtree создает папку "Входящие" в хранилище сообщений, массив SPropValue содержит идентификатор записи папки "Входящие" со специальным тегом свойства, кодируемым как PROP_TAG(PT_BINARY, PROP_ID_NULL). Параметр lppProps может иметь значение NULL, указывая, что реализация вызова не требует возврата массива SPropValue .

lppMapiError

[out] Указатель на указатель на структуру MAPIERROR , содержащую сведения о версии, компоненте и контексте для ошибки. Если структура MAPIERROR не возвращается, параметр lppMAPIError имеет значение NULL.

Возвращаемое значение

Нет.

Замечания

MAPI использует функцию HrValidateIPMSubtree для создания стандартного поддеревого дерева IPM в хранилище сообщений при первом открытии хранилища или когда хранилище становится хранилищем по умолчанию. Эта функция также может использоваться клиентскими приложениями для проверки или исправления стандартных папок сообщений.

HrValidateIPMSubtree всегда создает корневую папку поиска и поддеревую папку IPM в корневой папке хранилища и папку "Удаленные" в папке IPM Subtree. Папка IPM Subtree является корневым каталогом иерархии 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)

Заполнитель PROP_TAG для папки "Входящие" IPM (PT_BINARY, PROP_ID_NULL).

Справочные материалы по MFCMAPI

Пример кода MFCMAPI указан в приведенной ниже таблице.

Файл Функция Comment
MstStoreDlg.cpp CMsgStoreDlg::OnValidateIPMSubtree MFCMAPI использует метод HrValidateIPMSubtree для добавления стандартных папок в хранилище сообщений.

См. также

IMAPISession::OpenMsgStoreMFCMAPI в качестве примера кода