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


IProfSect : IMAPIProp

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

Работает со свойствами объектов раздела профиля.

Свойство Значение
Файл заголовка:
Mapix.h
Предоставляется:
Объекты раздела профиля
Реализовано в:
MAPI
Вызывающая сторона:
Клиентские приложения и поставщики услуг
Идентификатор интерфейса:
IID_IProfSect
Тип указателя:
LPPROFSECT
Модель транзакций:
Без передачи

Порядок vtable

Этот интерфейс не имеет уникальных методов.

Обязательные свойства Access
PR_OBJECT_TYPE (PidTagObjectType)
Только для чтения
PR_PROFILE_NAME (PidTagProfileName)
Только для чтения

Примечания для вызывающих методов

Интерфейс IProfSect не имеет собственных уникальных методов, но вы можете вызвать методы IMAPIProp раздела профиля. Существуют некоторые различия между реализацией IProfSect и другими реализациями IMAPIProp:

  • IProfSect не поддерживает модель транзакций.

  • IProfSect не поддерживает именованные свойства.

  • IProfSect резервирует 0x67F0 диапазона идентификаторов для 0x67ff для безопасных свойств.

Отсутствие поддержки модели транзакций означает, что все изменения, внесенные в раздел профиля после вызовов методов IMAPIProp::CopyProps и IMAPIProps::CopyTo , выполняются немедленно. Вызовы метода IMAPIProp::SaveChanges выполняются успешно, но фактически не сохраняют никаких изменений.

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

Чтобы реализовать лист свойств с помощью скопированного раздела профиля, выполните следующую процедуру:

  1. Откройте раздел профиля, вызвав метод IMAPISupport::OpenProfileSection или IProviderAdmin::OpenProfileSection .

  2. Вызовите функцию CreateIProp , чтобы получить объект данных свойства — объект, поддерживающий интерфейс IPropData .

  3. Вызовите метод IMAPIProp::CopyTo раздела профиля, чтобы скопировать свойства, которые будут отображаться на странице свойств, из раздела профиля в объект данных свойства.

  4. Вызовите метод IMAPISupport::D oConfigPropSheet , чтобы запросить у поставщика услуг отображение страницы свойств и передать указатель на объект данных свойства в параметре lpConfigData .

  5. Когда пользователь сохраняет изменения в свойствах конфигурации на странице свойств, вызовите метод IMAPIProp::CopyTo , чтобы скопировать свойства из объекта данных свойства обратно в раздел профиля.

Разделы профиля, в отличие от других объектов, не поддерживают именованные свойства. Методы IMAPIProp::GetIDsFromNames и IMAPIProp::GetNamesFromIDs возвращают MAPI_E_NO_SUPPORT, если они вызываются для объекта раздела профиля. При использовании метода IMAPIProp::SetProps для задания идентификаторов свойств в диапазоне выше 0x8000 возвращается тип свойства PT_ERROR.

Разделы профиля резервировать диапазон идентификаторов 0x67F0, чтобы 0x67FF для безопасных свойств. Поставщики услуг могут использовать этот диапазон для хранения паролей и других учетных данных, относящихся к поставщику. Свойства в этом диапазоне не возвращаются в полном списке свойств, если значение NULL передается в параметре lpPropTag метода IMAPIProp::GetProps , а также не возвращаются в параметре lppPropTagArray метода IMAPIProp::GetPropList . Безопасные свойства должны запрашиваться специально по их идентификаторам.

MAPI предоставляет раздел профиля с жестко закодированной константой MUID_PROFILE_INSTANCE в качестве идентификатора и PR_SEARCH_KEY (PidTagSearchKey) в качестве одного свойства. MAPI гарантирует, что значение свойства PR_SEARCH_KEY будет уникальным среди всех созданных профилей. Используйте PR_SEARCH_KEY вместо PR_PROFILE_NAME , когда уникальность важна, так как за удаленным профилем может следовать другой профиль с тем же именем.

Дополнительные сведения об использовании разделов профилей см. в статье Администрирование профилей и служб сообщений.

См. также

Интерфейсы MAPI