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


IMsgServiceAdmin::OpenProfileSection

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

Открывает раздел текущего профиля и возвращает указатель IProfSect для дальнейшего доступа.

HRESULT OpenProfileSection(
  LPMAPIUID lpUID,
  LPCIID lpInterface,
  ULONG ulFlags,
  LPPROFSECT FAR * lppProfSect
);

Параметры

lpUID

Указатель на структуру MAPIUID , которая идентифицирует раздел профиля.

lpInterface

[в] Указатель на идентификатор интерфейса (IID), представляющий интерфейс, используемый для доступа к разделу профиля. Передача NULL приводит к тому, что указатель на стандартный интерфейс возвращается в параметре lppProfSect . Стандартный интерфейс для раздела профиля — IProfSect.

ulFlags

[в] Битовая маска флагов, управляющая доступом к разделу профиля. Можно задать следующие флаги:

MAPI_DEFERRED_ERRORS

Разрешает успешное возвращение OpenProfileSection , возможно, до того, как раздел профиля будет полностью доступен вызывающему клиенту. Если раздел профиля недоступен, последующий вызов может вызвать ошибку.

MAPI_MODIFY

Запрашивает разрешение на чтение и запись. По умолчанию разделы профиля открываются с разрешением только для чтения, и клиенты не должны работать при условии, что было предоставлено разрешение на чтение и запись.

MAPI_FORCE_ACCESS

Предоставляет доступ ко всем разделам профиля, даже к разделам, принадлежащим отдельным поставщикам услуг.

lppProfSect

[out] Указатель на указатель на раздел профиля.

Возвращаемое значение

S_OK

Раздел профиля был успешно открыт.

MAPI_E_NO_ACCESS

Предпринята попытка доступа к разделу профиля, для которого у вызывающего объекта недостаточно разрешений.

MAPI_E_NOT_FOUND

Запрошенный раздел профиля не существует.

Замечания

Метод IMsgServiceAdmin::OpenProfileSection открывает раздел профиля, объект, поддерживающий интерфейс IProfSect . Разделы профиля используются для чтения сведений из профиля сеанса и их записи в нее.

OpenProfileSection нельзя использовать для открытия разделов профилей, принадлежащих отдельным поставщикам услуг, если не используется MAPI_FORCE_ACCESS.

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

Несколько клиентов могут открыть раздел профиля с разрешением только для чтения, но только один клиент может открыть раздел профиля с разрешением на чтение и запись. Если у другого клиента открыт раздел профиля, который вы пытаетесь открыть, вызвав OpenProfileSection с установленным флагом MAPI_MODIFY, вызов завершится ошибкой, возвращая MAPI_E_NO_ACCESS.

Операция открытия только для чтения завершается ошибкой, если раздел открыт для записи.

Раздел профиля можно создать, вызвав OpenProfileSection с флагом MAPI_MODIFY и несуществующей структурой MAPIUID в параметре lpUID . Обязательно укажите MAPI_MODIFY. Если lpUID указывает на несуществующий MAPIUID , а OpenProfileSection использует режим доступа только для чтения по умолчанию, вызов завершится ошибкой с MAPI_E_NOT_FOUND.

Справочные материалы по MFCMAPI

Пример кода MFCMAPI указан в приведенной ниже таблице.

Файл Функция Comment
MAPIProfileFunctions.cpp
OpenProfileSection
MFCMAPI использует метод IMsgServiceAdmin::OpenProfileSection для открытия раздела профиля.

См. также

IMAPIProp : IUnknown

IMAPISession::OpenProfileSection

IProfSect : IMAPIProp

MAPIUID

IMsgServiceAdmin : IUnknown

Mfcmapi (en) � �������� ������� ����