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。