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


Функция обратного вызова MAPILOGON (mapi.h)

[Использование этой функции не рекомендуется. Он может быть изменен или недоступен в последующих версиях Windows.]

Функция MAPILogon начинает простой сеанс MAPI, загружая поставщиков хранилища сообщений и адресных книг по умолчанию.

Синтаксис

MAPILOGON Mapilogon;

ULONG Mapilogon(
  [in]           ULONG_PTR ulUIParam,
  [in, optional] LPSTR lpszProfileName,
  [in, optional] LPSTR lpszPassword,
  [in]           FLAGS flFlags,
                 ULONG ulReserved,
  [out]          LPLHANDLE lplhSession
)
{...}

Параметры

[in] ulUIParam

Дескриптор родительского окна или ноль, указывающий, что если отображается диалоговое окно, оно является модальным для приложения. Если параметр ulUIParam содержит дескриптор родительского окна, он имеет тип HWND (приведение к ULONG_PTR). Если во время вызова диалоговое окно не отображается, ulUIParam игнорируется.

[in, optional] lpszProfileName

Указатель на строку имени профиля, завершаемую null, не более 256 символов. Это профиль, используемый при входе в систему. Если параметр lpszProfileName имеет значение NULL или указывает на пустую строку, а параметру flFlags присвоено значение MAPI_LOGON_UI, mapILogon отображает диалоговое окно входа в систему с пустым полем имени.

[in, optional] lpszPassword

Указатель на строку учетных данных с пустым завершением, ограниченную не более 256 символами. Если системе обмена сообщениями не требуются учетные данные пароля или пользователь должен ввести их, параметр lpszPassword должен иметь значение NULL или указывать на пустую строку. Если пользователь должен ввести учетные данные, параметру flFlags необходимо задать значение MAPI_LOGON_UI, чтобы разрешить отображение диалогового окна входа.

[in] flFlags

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

Значение Значение
MAPI_FORCE_DOWNLOAD
Перед возвратом необходимо попытаться скачать все сообщения пользователя. Если флаг MAPI_FORCE_DOWNLOAD не установлен, сообщения можно скачать в фоновом режиме после возврата вызова функции.
MAPI_NEW_SESSION
Следует предпринять попытку создать новый сеанс, а не получить общий сеанс среды. Если флаг MAPI_NEW_SESSION не задан, MAPILogon использует существующий общий сеанс.
MAPI_LOGON_UI
Должно появиться диалоговое окно входа, чтобы запрашивать у пользователя сведения о входе в систему. Если пользователю необходимо указать пароль и имя профиля для успешного входа, необходимо задать MAPI_LOGON_UI.
MAPI_PASSWORD_UI
MAPILogon должен запрашивать только пароль и не разрешать пользователю изменять имя профиля. Не следует задавать MAPI_PASSWORD_UI или MAPI_LOGON_UI, так как целью является выбор между двумя разными диалоговым окном для входа.

ulReserved

Защищены; значение должно быть равно нулю.

[out] lplhSession

Простой дескриптор сеанса MAPI.

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

Эта функция возвращает одно из следующих значений.

Код возврата Описание
MAPI_E_FAILURE
Во время входа в систему произошла одна или несколько неуказанными ошибками. Дескриптор сеанса не был возвращен.
MAPI_E_INSUFFICIENT_MEMORY
Для продолжения недостаточно памяти. Дескриптор сеанса не был возвращен.
MAPI_E_LOGIN_FAILURE
Вход по умолчанию не выполнен, и пользователю не удалось войти в систему при отображении диалогового окна входа. Дескриптор сеанса не был возвращен.
MAPI_E_TOO_MANY_SESSIONS
У пользователя было открыто слишком много сеансов одновременно. Дескриптор сеанса не был возвращен.
MAPI_E_USER_ABORT
Пользователь отменил диалоговое окно входа. Дескриптор сеанса не был возвращен.
SUCCESS_SUCCESS
Вызов выполнен успешно, и был установлен простой сеанс MAPI.

Комментарии

Функция MAPILogon начинает сеанс с системой обмена сообщениями, возвращая дескриптор, который можно использовать в последующих вызовах MAPI для явного предоставления учетных данных пользователя системе обмена сообщениями. Чтобы запросить отображение диалогового окна входа в систему, если предоставленные учетные данные не удается проверить сеанс, задайте для параметра flFlags значение MAPI_LOGON_UI.

Клиентское приложение проверяет существующий сеанс, вызывая MAPILogon со значением NULL для параметра lpszProfileName , значение NULL для параметра lpszPassword и не устанавливая флаг MAPI_LOGON_UI в flFlags. При наличии существующего сеанса вызов выполняется успешно и возвращает допустимый LHANDLE для сеанса. В противном случае вызов завершится ошибкой.

Требования

Требование Значение
Целевая платформа Windows
Header mapi.h

См. также раздел

MAPILogoff

Простой MAPI