HrOpenABEntryWithProviderUID

适用于:Outlook 2013 | Outlook 2016

使用由 pEmsabpUID 标识的 Exchange 通讯簿打开 entryID。 此函数的工作方式与 IAddrBook::OpenEntry 类似,只不过使用此函数可确保使用预期的 Exchange 通讯簿提供程序打开 IAddrBook::OpenEntry

属性
标头文件:
abhelp.h
实现者:
MAPI
调用者:
客户端应用程序和服务提供商
HRESULT HrOpenABEntryWithProviderUID(
  const MAPIUID *pEmsabpUID,
  LPADRBOOK pAddrBook,
  ULONG cbEntryID,
  LPENTRYID lpEntryID,
  LPCIID lpInterface,
  ULONG ulFlags,
  ULONG FAR * lpulObjType,
  LPUNKNOWN FAR * lppUnk
);

参数

pEmsmdbUID

[in]指向 emsmdbUID 的 指针,该指针标识包含 Exchange 通讯簿提供程序的 Exchange 服务,此函数应使用该提供程序来显示条目标识符的详细信息。 如果传入条目标识符不是 Exchange 通讯簿提供程序条目标识符,则忽略此参数,并且函数调用的行为类似于 IAddrBook::D etails。 如果此参数为 NULL 或零 MAPIUID,则此函数的行为类似于 IAddrBook::D etails

pAddrBook

[in]用于打开条目标识符的通讯簿。 它不能为 NULL。

cbEntryID

[in] lpEntryID 参数指定的条目标识符的字节计数。

lpEntryID

[in]指向表示要打开的通讯簿条目的条目标识符的指针。

lpInterface

[in]指向接口标识符的指针, (用于访问打开项的接口的 IID) 。 传递 NULL 将返回 对象的标准接口。 对于消息传递用户,标准接口为 IMailUser :IMAPIProp。 对于通讯组列表,它是 IDistList :IMAPIContainer,对于容器,它是 IABContainer :IMAPIContainer。 调用方可以将 lpInterface 设置为适当的标准接口或继承层次结构中的接口。

ulFlags

[in]控制条目的打开方式的标志的位掩码,可以设置以下标志:

MAPI_BEST_ACCESS

请求使用允许的最大网络和客户端权限打开条目。 例如,如果客户端具有读取和写入权限,则通讯簿提供程序会尝试使用读取和写入权限打开条目。 客户端可以通过调用打开条目的 IMAPIProp::GetProps 方法并检索 PR_ACCESS_LEVEL (PidTagAccessLevel) 属性来检索授予的访问级别。

MAPI_CACHE_ONLY

仅使用脱机通讯簿来执行名称解析。 例如,可以使用此标志允许客户端应用程序在缓存交换模式下打开全局地址列表 (GAL) ,并从缓存访问该通讯簿中的条目,而无需在客户端和服务器之间创建流量。 仅 Exchange 通讯簿提供程序支持此标志。

MAPI_DEFERRED_ERRORS

允许调用成功(可能在条目完全打开且可用之前),这意味着对条目的后续调用可能会返回错误。

MAPI_GAL_ONLY

仅使用 GAL 来执行名称解析。 仅 Exchange 通讯簿提供程序支持此标志。

MAPI_MODIFY

请求以读取和写入权限打开条目。 由于默认情况下以只读访问权限打开条目,因此无论是否设置了MAPI_MODIFY,客户端都不应假定已授予读取和写入权限。

MAPI_NO_CACHE

不要使用脱机通讯簿来执行名称解析。 仅 Exchange 通讯簿提供程序支持此标志。

lpulObjType

[out]指向打开的条目类型的指针。

lppUnk

[out]指向已打开条目的指针的指针。