IAddrBook::GetSearchPath
适用于:Outlook 2013 | Outlook 2016
返回要包含在 IAddrBook::ResolveName 方法启动的名称解析过程中的容器的条目标识符的有序列表。
HRESULT GetSearchPath(
ULONG ulFlags,
LPSRowSet FAR * lppSearchPath
);
参数
ulFlags
[in]标志的位掩码,用于控制搜索路径中返回的字符串的类型。 可以设置以下标志:
MAPI_UNICODE
返回的字符串采用 Unicode 格式。 如果未设置MAPI_UNICODE标志,则字符串采用 ANSI 格式。
lppSearchPath
[out]指向指向容器条目标识符的有序列表的指针的指针。 GetSearchPath 将有序列表存储在 SRowSet 结构中。 如果通讯簿层次结构中没有容器,则 SRowSet 结构中返回零。
返回值
S_OK
已成功检索搜索路径。
备注
客户端和服务提供程序调用 GetSearchPath 方法以获取用于使用 ResolveName 方法解析名称的搜索路径。 通常,客户端调用 IAddrBook::SetSearchPath 方法以在配置文件中建立容器搜索路径,然后再调用 GetSearchPath 来检索它。 但是,调用 SetSearchPath 是可选的。
如果从未调用 SetSearchPath,GetSearchPath 会通过浏览通讯簿的层次结构表来生成路径。 GetSearchPath 建立的默认搜索路径按以下顺序由以下容器组成:
具有读/写权限的第一个容器,通常是个人通讯簿 (PAB) 。
具有 其PR_DISPLAY_TYPE (PidTagDisplayType 的每个容器) 属性设置为 DT_GLOBAL。 此设置指示容器保存收件人。
如果没有 容器在其PR_DISPLAY_TYPE 属性中设置了DT_GLOBAL标志,并且默认容器不同于具有读/写权限的第一个容器,则指定为默认容器。
如果已调用 SetSearchPath,GetSearchPath 将使用存储在配置文件中的通讯簿容器生成路径。 GetSearchPath 先验证此路径,然后再将其返回给调用方。
首次调用 SetSearchPath 后,必须使用 对 SetSearchPath 的后续调用来修改 GetSearchPath 返回的搜索路径。 换句话说,调用客户端或提供程序在第一次调用 SetSearchPath 后不会收到默认搜索路径。