ITnef::OpenTaggedBody
适用于:Outlook 2013 | Outlook 2016
在封装消息的文本上打开流接口。
HRESULT OpenTaggedBody(
LPMESSAGE lpMessage,
ULONG ulFlags,
LPSTREAM FAR * lppStream
);
参数
lpMessage
[in]指向与流关联的消息的指针。 此消息不一定是调用 OpenTnefStream 或 OpenTnefStreamEx 函数时传递的消息。
ulFlags
[in]控制如何打开流接口的标志的位掩码。 可以设置以下标志:
MAPI_CREATE
如果当前消息中不存在属性,则应创建该属性。 如果该属性确实存在,则应将 属性中的当前数据替换为 Transport-Neutral 封装格式 (TNEF) 流中的数据。 当实现设置MAPI_CREATE标志时,它还应设置MAPI_MODIFY标志。
MAPI_MODIFY
请求读/写权限。 默认接口为只读。 每当设置MAPI_CREATE时,都必须设置MAPI_MODIFY。
lppStream
[out]指向流对象的指针,该流对象包含传入封装消息的 PR_BODY (PidTagBody) 属性中的文本,该属性支持 IStream 接口。
返回值
S_OK
调用成功并返回了一个或多个预期值。
备注
传输提供程序、消息存储提供程序和网关调用 ITnef::OpenTaggedBody 方法,以在封装消息 (的文本上打开流接口,即 TNEF 对象) 。
OpenTaggedBody 在其处理过程中插入或分析附件标记,这些标记指示任何附件或 OLE 对象在邮件文本中的位置。 附件标记采用以下格式:
[[attachment name:ninattachment container name]]
附件名称描述附件对象;n 是一个数字,它标识作为序列的一部分的附件,从 OpenTnefStream 或 OpenTnefStreamEx 函数的 lpKey 参数中传递的值递增;和 附件容器名称描述附件对象所在的物理组件。
OpenTaggedBody 可读出邮件文本,并在文本中最初出现附件对象的位置插入附件标记。 原始消息文本不会更改。
将具有标记的邮件传递给流时,标记将被剥离,附件对象将重定位在流中标记的位置。