Создание профиля с помощью пользовательского кода
Область применения: Outlook 2013 | Outlook 2016
Если вы решили написать код для создания профиля, убедитесь, что вы понимаете порядок записей профиля, а также тип и объем информации, необходимый для каждой записи. Последствия упорядочения записей в профиле описаны в разделе Профили MAPI.
Создание профиля с помощью кода C или C++
Чтение файла заголовка для каждой службы сообщений. Узнайте, какие свойства необходимо настроить и какие значения вы будете использовать.
Вызовите функцию MAPIAdminProfiles , чтобы получить указатель интерфейса IProfAdmin .
Вызовите IProfAdmin::CreateProfile , чтобы создать профиль. Если вы хотите создать профиль со службами сообщений, перечисленными в разделе [Службы по умолчанию] MAPISVC. INF-файл, установите флаг MAPI_DEFAULT_SERVICE. Если вы хотите разрешить пользователю вводить сведения о конфигурации, установите флаг MAPI_DIALOG. Убедитесь, что этот флаг установлен, если в MAPISVC доступны не все необходимые сведения. INF-файл. CreateProfile вызывает функцию точки входа для каждой службы сообщений, добавляемой в профиль, с параметром ulContext MSG_SERVICE_CREATE.
Вызовите IProfAdmin::AdminServices , чтобы получить объект администрирования службы сообщений.
Используйте объект администрирования службы сообщений для добавления служб сообщений в профиль. Для каждой службы сообщений, которую вы хотите добавить:
Вызовите метод IMsgServiceAdmin::CreateMsgService , чтобы создать новую службу сообщений.
Вызовите IMsgServiceAdmin::ConfigureMsgService, передав структуру MAPIUID только что созданной службы и массив значений свойств с его свойствами конфигурации.
Чтобы получить идентификатор только что добавленной службы, которая является ее свойством PR_SERVICE_UID (PidTagServiceUid), вызовите IMsgServiceAdmin::GetMsgServiceTable , чтобы получить доступ к таблице службы сообщений и найти строку, представляющую службу сообщений. Последняя строка в таблице будет представлять последнюю добавленную службу сообщений.
Чтобы сделать новый профиль временным, вызовите метод IProfAdmin::D eleteProfile сразу после входа в систему. DeleteProfile помечает новый профиль как удаленный, сделав его пригодным для использования в течение сеанса. Так как он не будет включен в таблицу профилей сеанса, другие клиенты не смогут использовать его.