IPropData::HrAddObjProps

适用于:Outlook 2013 | Outlook 2016

将 PT_OBJECT 类型的一个或多个属性添加到 对象。

HRESULT HrAddObjProps(
  LPSPropTagArray lpPropTagArray,
  LPSPropProblemArray FAR * lppProblems
);

参数

lpPropTagArray

[in]指向属性标记数组的指针,这些标记指示要添加的属性。

lppProblems

[in,out]输入时,指向 SPropProblemArray 结构的有效指针,或 NULL。 输出时,指向指向结构的指针的指针,该结构包含有关无法添加的属性的信息,或 NULL。 仅当传入有效指针时,才会返回指向属性问题数组结构的指针。

返回值

S_OK

已成功添加属性。

MAPI_E_INVALID_TYPE

PT_OBJECT以外的属性类型在 lpPropTagArray 参数指向的数组中传递。

MAPI_E_NO_ACCESS

对象已设置为不允许读/写权限。

MAPI_W_PARTIAL_COMPLETION

添加了部分(但不是全部)属性。

备注

IPropData::HrAddObjProps 方法将PT_OBJECT类型的一个或多个属性添加到 对象。 HrAddObjProps 为对象属性提供了 IMAPIProp::SetProps 方法的替代方法,因为无法通过调用 SetProps 创建对象属性。 添加对象属性会导致属性标记包含在 IMAPIProp::GetPropList 方法返回的属性标记列表中。

给调用方的说明

如果 HrAddObjProps 返回MAPI_W_PARTIAL_COMPLETION并且已将 lppProblems 设置为有效的指针,检查返回的 SPropProblemArray 结构,找出未添加的属性。 通常,唯一出现的问题是内存不足。 使用完 MAPIFreeBuffer 函数后,通过调用它来释放 SPropProblemArray 结构。

若要添加属性,目标对象必须具有读/写权限。 如果 HrAddObjProps 返回MAPI_E_NO_ACCESS,则无法向对象添加属性,因为它不允许修改。 若要在调用 HrAddObjProps 之前获取对对象的读/写权限,请调用 IPropData::HrSetObjAccess 并将 ulAccess 参数设置为 IPROP_READWRITE。

另请参阅

MAPIFreeBuffer

SPropProblemArray

SPropTagArray

IPropData : IMAPIProp