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
指向 以 null 结尾的凭据字符串的指针,限制为 256 个字符或更少。 如果消息传送系统不需要密码凭据,或者它要求用户输入密码凭据, 则 lpszPassword 参数应为 NULL 或指向空字符串。 当用户必须输入凭据时, flFlags 参数必须设置为 MAPI_LOGON_UI以允许显示登录对话框。
[in] flFlags
选项标志的位掩码。 可以设置以下标志。
ulReserved
保留;必须为零。
[out] lplhSession
简单的 MAPI 会话句柄。
返回值
此函数返回以下值之一。
返回代码 | 说明 |
---|---|
|
登录期间发生了一个或多个未指定的错误。 未返回任何会话句柄。 |
|
内存不足,无法继续。 未返回任何会话句柄。 |
|
没有默认登录,并且显示登录对话框时,用户无法成功登录。 未返回任何会话句柄。 |
|
用户同时打开的会话过多。 未返回任何会话句柄。 |
|
用户取消了登录对话框。 未返回任何会话句柄。 |
|
调用成功,并已建立简单 MAPI 会话。 |
注解
MAPILogon 函数开始与消息传送系统的会话,返回一个句柄,该句柄可用于后续 MAPI 调用,以向消息系统显式提供用户凭据。 若要在提供的凭据未能验证会话时请求显示登录对话框,请将 flFlags 参数设置为 MAPI_LOGON_UI。
客户端应用程序通过使用 lpszProfileName 参数的 NULL 值、lpszPassword 参数的 NULL 值以及不设置 flFlags 中的 MAPI_LOGON_UI 标志来测试现有会话。 如果存在现有会话,则调用成功并返回会话的有效 LHANDLE。 否则,调用会失败。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | mapi.h |