IMAPISupport::OpenProfileSection
Область применения: Outlook 2013 | Outlook 2016
Открывает раздел текущего профиля и возвращает указатель IProfSect для дальнейшего доступа.
HRESULT OpenProfileSection(
LPMAPIUID lpUid,
ULONG ulFlags,
LPPROFSECT FAR * lppProfileObj
);
Параметры
lpUid
[в] Указатель на структуру MAPIUID , которая определяет открываемую секцию профиля. При передаче значения NULL для параметра lpUid открывается раздел профиля вызывающего объекта.
ulFlags
[в] Битовая маска флагов, управляющая открытием раздела профиля. Можно задать следующие флаги:
MAPI_DEFERRED_ERRORS
Разрешает успешное возвращение OpenProfileSection , возможно, до того, как раздел профиля будет полностью доступен вызывающей. Если раздел профиля недоступен, последующий вызов объекта может привести к ошибке.
MAPI_MODIFY
Запрашивает разрешение на чтение и запись. По умолчанию объекты открываются как доступные только для чтения, и вызывающие объекты не должны работать при условии, что предоставлено разрешение на чтение и запись.
lppProfileObj
[out] Указатель на указатель на открытый раздел профиля.
Возвращаемое значение
S_OK
Раздел профиля был успешно открыт.
MAPI_E_NO_ACCESS
Предпринята попытка изменить раздел профиля только для чтения или получить доступ к объекту, для которого у вызывающего объекта недостаточно разрешений.
MAPI_E_NOT_FOUND
Раздел профиля не связан с идентификатором записи, переданным в lpEntryID.
MAPI_E_UNKNOWN_FLAGS
Использовались зарезервированные или неподдерживаемые флаги, поэтому операция не была завершена.
Замечания
Метод IMAPISupport::OpenProfileSection реализован для всех объектов поддержки. Поставщики услуг и службы сообщений вызывают OpenProfileSection , чтобы открыть раздел профиля и получить указатель на реализацию интерфейса IProfSect .
Примечания для вызывающих методов
OpenProfileSection открывает разделы профиля только для чтения, если вы не задали флаг MAPI_MODIFY в параметре ulFlags и у вас достаточно разрешения. Установка этого флага не гарантирует разрешение на чтение и запись; Предоставленные разрешения зависят от уровня доступа и объекта .
Если OpenProfileSection пытается открыть несуществующий раздел профиля только для чтения, он возвращает MAPI_E_NOT_FOUND. Если OpenProfileSection пытается открыть несуществующий раздел профиля для чтения и записи, он создает раздел профиля и возвращает указатель IProfSect .