Функция обратного вызова 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
Битовая маска флагов параметров. Можно задать следующие флаги.
ulReserved
Защищены; значение должно быть равно нулю.
[out] lplhSession
Простой дескриптор сеанса MAPI.
Возвращаемое значение
Эта функция возвращает одно из следующих значений.
Код возврата | Описание |
---|---|
|
Во время входа в систему произошла одна или несколько неуказанными ошибками. Дескриптор сеанса не был возвращен. |
|
Для продолжения недостаточно памяти. Дескриптор сеанса не был возвращен. |
|
Вход по умолчанию не выполнен, и пользователю не удалось войти в систему при отображении диалогового окна входа. Дескриптор сеанса не был возвращен. |
|
У пользователя было открыто слишком много сеансов одновременно. Дескриптор сеанса не был возвращен. |
|
Пользователь отменил диалоговое окно входа. Дескриптор сеанса не был возвращен. |
|
Вызов выполнен успешно, и был установлен простой сеанс MAPI. |
Комментарии
Функция MAPILogon начинает сеанс с системой обмена сообщениями, возвращая дескриптор, который можно использовать в последующих вызовах MAPI для явного предоставления учетных данных пользователя системе обмена сообщениями. Чтобы запросить отображение диалогового окна входа в систему, если предоставленные учетные данные не удается проверить сеанс, задайте для параметра flFlags значение MAPI_LOGON_UI.
Клиентское приложение проверяет существующий сеанс, вызывая MAPILogon со значением NULL для параметра lpszProfileName , значение NULL для параметра lpszPassword и не устанавливая флаг MAPI_LOGON_UI в flFlags. При наличии существующего сеанса вызов выполняется успешно и возвращает допустимый LHANDLE для сеанса. В противном случае вызов завершится ошибкой.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | mapi.h |