ITnef::AddProps

适用于:Outlook 2013 | Outlook 2016

使调用服务提供商或网关能够向消息或附件的封装添加属性。

HRESULT AddProps(
  ULONG ulFlags,
  ULONG ulElemID,
  LPVOID lpvData,
  LPSPropTagArray lpPropList
);

参数

ulFlags

[in]一个标志的位掩码,用于控制属性如何包含在封装中或从封装中排除。 可以设置以下标志:

TNEF_PROP_ATTACHMENTS_ONLY

仅对属于邮件附件的 lpPropList 参数中的属性进行编码。

TNEF_PROP_CONTAINED

仅对 ulElemID 参数指定的附件中的属性进行编码。 如果 lpvData 参数不为 NULL,则指向 的数据将写入 PR_ATTACH_TRANSPORT_NAME (PidTagAttachTransportName) 属性指示的文件中附件的封装中。

TNEF_PROP_CONTAINED_TNEF

仅对 ulElemID 参数指定的邮件或附件中的属性进行编码。 如果设置了此标志, 则 lpvData 中的值必须是 IStream 指针。

TNEF_PROP_EXCLUDE

未在 lpPropList 参数中指定的所有属性进行编码。

TNEF_PROP_INCLUDE

lpPropList 中指定的所有属性进行编码。

TNEF_PROP_MESSAGE_ONLY

仅对 lpPropList 中指定的属于消息本身的属性进行编码。

ulElemID

[in]附件的 PR_ATTACH_NUM (PidTagAttachNumber) 属性,该属性包含一个唯一标识其父邮件中的附件的数字。 请求对附件进行特殊处理时,将使用 ulElemID 参数。 ulElemID 参数应为 0,除非 ulFlags 参数中设置了 TNEF_PROP_CONTAINED 或 TNEF_PROP_CONTAINED_TNEF 标志。

lpvData

[in]指向附件数据的指针,用于替换 ulElemID 中指定的附件的数据。 除非在 ulFlags 中设置了TNEF_PROP_CONTAINED或TNEF_PROP_CONTAINED_TNEF,否则 lpvData 参数应为 NULL。

lpPropList

[in]指向要包含在封装中或从封装中排除的属性列表的指针。

返回值

S_OK

调用成功,并返回了预期的值。

备注

传输提供程序、消息存储提供程序和网关调用 ITnef::AddProps 方法以列出要包含在或排除在 Transport-Neutral 封装格式的属性 (TNEF) 邮件或附件的处理。 通过使用连续调用,提供程序或网关可以指定要添加和编码或从编码中排除的属性列表。 提供程序和网关还可以使用 AddProps 来提供有关应提供的任何特殊处理附件的信息。

仅使用 OpenTnefStream 或 OpenTnefStreamEx 函数的 TNEF_ENCODE 标志打开的 TNEF 对象支持 AddProps

请注意,在调用 ITnef::Finish 方法之前,AddProps 不会发生实际的 TNEF 编码。 此功能意味着传入 AddProps 的指针必须保持有效,直到调用 Finish 。 此时,可以使用 AddProps 调用传入的所有对象和数据被释放或释放。

MFCMAPI 引用

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

文件 函数 Comment
File.cpp
SaveToTNEF
MFCMAPI 使用 ITnef::AddProps 方法将属性从消息复制到 TNEF 流。

另请参阅

ITnef::Finish

OpenTnefStream

OpenTnefStreamEx

PidTagAttachTransportName 规范属性

ITnef : IUnknown

MFCMAPI 代码示例