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 流。 |