IMAPISupport::OpenAddressBook

适用于:Outlook 2013 | Outlook 2016

提供对通讯簿的访问权限。

HRESULT OpenAddressBook(
LPCIID lpInterface,
ULONG ulFlags,
LPADRBOOK FAR * lppAdrBook
);

参数

lpInterface

[in]指向接口标识符的指针, (表示要用于访问通讯簿的接口的 IID) 。 有效值为 NULL,指示标准通讯簿接口 IAddrBook,IID_IAddrBook

ulFlags

保留;必须为零。

lppAdrBook

[out]指向通讯簿的指针的指针。

返回值

S_OK

提供了对通讯簿的访问权限。

MAPI_W_ERRORS_RETURNED

呼叫成功,但无法加载一个或多个通讯簿提供程序。 返回此警告时,应将调用处理为成功。 若要测试此警告,请使用 HR_FAILED 宏。 有关详细信息,请参阅 使用宏进行错误处理

备注

为所有服务提供商支持对象实现 IMAPISupport::OpenAddressBook 方法。 服务提供商(通常是紧密耦合的消息存储和传输提供程序)调用 OpenAddressBook 以获取对通讯簿的访问权限。 返回的 IAddrBook 指针可用于各种通讯簿任务,包括打开通讯簿容器、查找消息用户和显示地址对话框。

给调用方的说明

如果 OpenAddressBook 无法加载当前配置文件中的一个或多个通讯簿提供程序,则可以返回MAPI_W_ERRORS_RETURNED。 此值是警告,应将调用视为成功。 即使所有通讯簿提供程序都未能加载,OpenAddressBook 仍会成功,在 lppAdrBook 参数中返回MAPI_W_ERRORS_RETURNED和 IAddrBook 指针。 由于 OpenAddressBook 始终返回有效的 IAddrBook 指针,因此必须在使用完它后将其释放。

如果一个或多个通讯簿提供程序未能加载,请调用 IMAPISupport::GetLastError 以获取 MAPIERROR 结构,该结构包含有关未加载的提供程序的信息。

另请参阅

IAddrBook : IMAPIProp

IMAPISession::OpenAddressBook

IMAPISupport : IUnknown