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


Реализация таблиц One-Off

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

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

Поставщик должен поддерживать метод OpenEntry для каждого шаблона, который он включает в однократную таблицу. Реализация OpenEntry должна получить таблицу отображения для шаблона. MAPI использует таблицу отображения, чтобы сделать шаблон видимым для пользователя.

Хотя большинство строк в одноразовых таблицах представляют собой шаблоны, некоторые из них можно использовать для классификации или группирования шаблонов. Указывает, представляет ли строка в одноразовой таблице шаблон, значение столбца PR_SELECTABLE (PidTagSelectable). Для строк, представляющих шаблоны, столбец PR_SELECTABLE имеет значение TRUE; Для строк, которые не представляют шаблоны, задано значение FALSE.

MAPI определяет три типа однократных таблиц:

  • Разовая таблица, отражающая шаблоны, поддерживаемые отдельным контейнером.

  • Одноразовая таблица, которая отражает все шаблоны, поддерживаемые поставщиком.

  • Одноразовая таблица, которая отражает все шаблоны, поддерживаемые всеми поставщиками в профиле, а также некоторые из них, поддерживаемые MAPI.

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

Третий тип однократной таблицы реализуется MAPI; поставщики получают доступ к нему, вызывая IMAPISupport::GetOneOffTable. Однократная таблица MAPI — это объединение всех таблиц поставщиков; он включает каждый шаблон, поддерживаемый каждым поставщиком в профиле. Он также включает шаблоны, поддерживаемые MAPI. Поставщик может использовать эту таблицу вместо таблицы, запрошенной для контейнера. Однако шаблоны в этой таблице также можно использовать для создания получателей исходящих сообщений.