[不建议使用此函数。 在 Windows 的后续版本中,它可能已更改或不可用。]
MAPIResolveName 函数将用户输入的邮件收件人姓名转换为明确的地址列表条目。
语法
MAPIRESOLVENAME Mapiresolvename;
ULONG Mapiresolvename(
[in] LHANDLE lhSession,
[in] ULONG_PTR ulUIParam,
[in] LPSTR lpszName,
[in] FLAGS flFlags,
ULONG ulReserved,
lpMapiRecipDesc *lppRecip
)
{...}
参数
[in] lhSession
表示简单 MAPI 会话或零的句柄。 如果 lhSession 参数的值为零,则 MAPI 将记录用户并创建仅在调用期间存在的会话。 此临时会话可以是现有共享会话,也可以是新会话。 如有必要,将显示登录对话框。
[in] ulUIParam
父窗口句柄或零,指示如果显示对话框,则为应用程序模式。 如果 ulUIParam 参数包含父窗口句柄,则其类型为 HWND (强制转换为 ULONG_PTR) 。 如果在调用期间未显示任何对话框,则忽略 ulUIParam 。
[in] lpszName
指向要解析的名称的指针。
[in] flFlags
选项标志的位掩码。 可以设置以下标志。
ulReserved
保留;必须为零。
lppRecip
返回值
此函数返回以下值之一。
| 返回代码 | 说明 |
|---|---|
|
请求的收件人尚未或无法解析为唯一地址列表条目。 |
|
无法将收件人解析为任何地址。 收件人可能不存在,也可能未知。 |
|
发生了一个或多个未指定的错误。 名称未解析。 |
|
内存不足,无法继续。 名称未解析。 |
|
没有默认登录,并且显示登录对话框时,用户无法成功登录。 名称未解析。 |
|
基础消息传送系统不支持此操作。 |
|
用户取消了其中一个对话框。 名称未解析。 |
|
调用成功,名称已解析。 |
注解
MAPIResolveName 函数将用户输入的邮件收件人姓名 (解析为明确的地址列表条目) ,并根据需要提示用户在可能的条目之间进行选择。 分配并返回包含有关条目的完全解析信息的收件人描述符结构。 调用方应通过调用 MAPIFreeBuffer 函数在某一点释放此 MapiRecipDesc 结构。 如果 MAPIResolveName 返回错误值,则无需使用 MAPIFreeBuffer 解除分配内存。
要求
| 要求 | 值 |
|---|---|
| 目标平台 | Windows |
| 标头 | mapi.h |