IMAPIProp::DeleteProps

适用于:Outlook 2013 | Outlook 2016

从 对象中删除一个或多个属性。

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

参数

lpPropTagArray

[in]指向属性标记数组的指针,这些标记指示要删除的属性。 lpPropTagArray 指向的 SPropTagArray 结构的 cValues 成员不能为零,并且 lpPropTagArray 参数本身不得为 NULL。

lppProblems

[in,out]输入时,指向 指向 SPropProblemArray 结构的指针的指针;否则为 NULL,指示不需要错误信息。 如果 lppProblems 是输入上的有效指针, 则 DeleteProps 将返回有关删除一个或多个属性时出现的错误的详细信息。

返回值

S_OK

已成功删除属性。

MAPI_E_NO_ACCESS

调用方没有足够的权限删除属性。

备注

IMAPIProp::D eleteProps 方法从当前对象中删除一个或多个属性。

针对实现者的说明

不必允许从所有对象中删除属性。 如果对象不可修改,请从 DeleteProps 方法返回MAPI_E_NO_ACCESS。

给调用方的说明

不必为 lpPropTagArray 参数指向的属性标记数组中的每个属性标记设置属性类型。 忽略属性类型;仅使用属性标识符。

请注意,某些对象不允许修改,并且这些对象从 DeleteProps 方法返回MAPI_E_NO_ACCESS。 其他对象允许删除某些属性,但不允许删除其他属性。 如果仅删除某些属性时出现问题, DeleteProps 将返回S_OK。 如果在 lppProblems 参数中传递了有效的指针, DeleteProps 会将指针设置为包含每个属性问题的详细信息 的 SPropProblemArray 结构。 例如,如果要删除邮件的所有属性,并且其一个或多个附件出现问题, 则 SPropPropProblemArray 结构将包含 PR_MESSAGE_ATTACHMENTS (PidTagMessageAttachments) 属性的条目。

仅当 DeleteProps 返回S_OK时,lppProblems 指向的结构才有效。 如果 DeleteProps 返回错误,请不要尝试使用 SPropProblemArray 结构。 相反,调用对象的 IMAPIProp::GetLastError 方法以获取有关错误的详细信息。

通过调用 MAPIFreeBuffer 函数释放返回的 SPropProblemArray 结构。

MFCMAPI 引用

有关 MFCMAPI 示例代码,请参阅下表。

文件 函数 Comment
MAPIFunctions.cpp
DeleteProperty
MFCMAPI 使用 IMAPIProp::D eleteProps 方法从对象中删除属性。

另请参阅

IMAPIProp::GetLastError

IMAPIProp::GetProps

IMAPIProp::SaveChanges

MAPIFreeBuffer

SPropProblemArray

SPropTagArray

IMAPIProp : IUnknown

MFCMAPI 代码示例