HrOpenABEntryUsingDefaultContext

适用于:Outlook 2013 | Outlook 2016

执行与 HrOpenABEntryWithExchangeContext 相同的功能,只不过它使用旧版 emsmdbUID 作为 pEmsmdbUID 参数。 除非无法为 HrOpenABEntryWithExchangeContext 的调用获取正确的 emsmdbUID,否则请勿使用此函数。

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

参数

pmsess

[in]登录 的 IMAPISession。 它不能为 NULL。

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]指向已打开条目的指针的指针。