IAddrBook::PrepareRecips

适用于:Outlook 2013 | Outlook 2016

准备收件人列表,供消息系统稍后使用。

HRESULT PrepareRecips(
  ULONG ulFlags,
  LPSPropTagArray lpSPropTagArray,
  LPADRLIST lpRecipList
);

参数

ulFlags

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

MAPI_CACHE_ONLY

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

lpSPropTagArray

[in]指向 SPropTagArray 结构的指针,该结构包含属性标记数组,这些标记指示需要更新的属性(如果有)。 lpSPropTagArray 参数可以为 NULL。

lpRecipList

[in]指向包含收件人列表的 ADRLIST 结构的指针。

返回值

S_OK

已成功准备收件人列表。

备注

客户端和服务提供商调用 PrepareRecips 方法执行以下操作:

  • 确保 lpRecipList 参数中的所有收件人都具有长期条目标识符。

  • 确保 lpRecipList 参数中的每个收件人都具有 lpSPropTagArray 参数中列出的属性,并且这些属性显示在收件人列表的开头。

MAPI 将每个收件人的短期条目标识符转换为长期条目标识符。 如有必要,将从相应的通讯簿提供程序检索收件人的长期条目标识符,并请求任何其他属性。

在单个收件人条目中,先对请求的属性进行排序,然后是针对该条目已存在的任何属性。 如果 lpSPropTagArray 参数中的一个或多个请求的属性未由相应的通讯簿提供程序处理,则其属性类型将设置为 PT_ERROR。 它们的属性值将设置为 以MAPI_E_NOT_FOUND或另一个值,该值提供属性不可用的更具体原因。 必须使用 MAPIAllocateBufferMAPIAllocateMore 函数单独分配 lpRecipList 参数中包含的每个 SPropValue 结构,以便可以单独释放它。

有关PT_ERROR的信息,请参阅 属性类型

另请参阅

ADRLIST

IMAPIProp::GetProps

IMessage::ModifyRecipients

PidTagEntryId 规范属性

SPropValue

SRowSet

IAddrBook : IMAPIProp