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 建立的默认搜索路径按以下顺序由以下容器组成:

  1. 具有读/写权限的第一个容器,通常是个人通讯簿 (PAB) 。

  2. 具有 其PR_DISPLAY_TYPE (PidTagDisplayType 的每个容器) 属性设置为 DT_GLOBAL。 此设置指示容器保存收件人。

  3. 如果没有 容器在其PR_DISPLAY_TYPE 属性中设置了DT_GLOBAL标志,并且默认容器不同于具有读/写权限的第一个容器,则指定为默认容器。

如果已调用 SetSearchPath,GetSearchPath 将使用存储在配置文件中的通讯簿容器生成路径。 GetSearchPath 先验证此路径,然后再将其返回给调用方。

首次调用 SetSearchPath 后,必须使用 对 SetSearchPath 的后续调用来修改 GetSearchPath 返回的搜索路径。 换句话说,调用客户端或提供程序在第一次调用 SetSearchPath 后不会收到默认搜索路径。

另请参阅

IAddrBook::SetSearchPath

SRowSet

IAddrBook : IMAPIProp