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


Создание профиля с помощью пользовательского кода

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

Если вы решили написать код для создания профиля, убедитесь, что вы понимаете порядок записей профиля, а также тип и объем информации, необходимый для каждой записи. Последствия упорядочения записей в профиле описаны в разделе Профили MAPI.

Создание профиля с помощью кода C или C++

  1. Чтение файла заголовка для каждой службы сообщений. Узнайте, какие свойства необходимо настроить и какие значения вы будете использовать.

  2. Вызовите функцию MAPIAdminProfiles , чтобы получить указатель интерфейса IProfAdmin .

  3. Вызовите IProfAdmin::CreateProfile , чтобы создать профиль. Если вы хотите создать профиль со службами сообщений, перечисленными в разделе [Службы по умолчанию] MAPISVC. INF-файл, установите флаг MAPI_DEFAULT_SERVICE. Если вы хотите разрешить пользователю вводить сведения о конфигурации, установите флаг MAPI_DIALOG. Убедитесь, что этот флаг установлен, если в MAPISVC доступны не все необходимые сведения. INF-файл. CreateProfile вызывает функцию точки входа для каждой службы сообщений, добавляемой в профиль, с параметром ulContext MSG_SERVICE_CREATE.

  4. Вызовите IProfAdmin::AdminServices , чтобы получить объект администрирования службы сообщений.

  5. Используйте объект администрирования службы сообщений для добавления служб сообщений в профиль. Для каждой службы сообщений, которую вы хотите добавить:

  6. Вызовите метод IMsgServiceAdmin::CreateMsgService , чтобы создать новую службу сообщений.

  7. Вызовите IMsgServiceAdmin::ConfigureMsgService, передав структуру MAPIUID только что созданной службы и массив значений свойств с его свойствами конфигурации.

  8. Чтобы получить идентификатор только что добавленной службы, которая является ее свойством PR_SERVICE_UID (PidTagServiceUid), вызовите IMsgServiceAdmin::GetMsgServiceTable , чтобы получить доступ к таблице службы сообщений и найти строку, представляющую службу сообщений. Последняя строка в таблице будет представлять последнюю добавленную службу сообщений.

Чтобы сделать новый профиль временным, вызовите метод IProfAdmin::D eleteProfile сразу после входа в систему. DeleteProfile помечает новый профиль как удаленный, сделав его пригодным для использования в течение сеанса. Так как он не будет включен в таблицу профилей сеанса, другие клиенты не смогут использовать его.