IMessage::GetAttachmentTable
适用于:Outlook 2013 | Outlook 2016
返回邮件的附件表。
HRESULT GetAttachmentTable(
ULONG ulFlags,
LPMAPITABLE FAR * lppTable
);
参数
ulFlags
[in]与表创建相关的标志的位掩码。 可以设置以下标志:
MAPI_UNICODE
字符串列采用 Unicode 格式。 如果未设置MAPI_UNICODE标志,则字符串列采用 ANSI 格式。
MAPI_DEFERRED_ERRORS
允许 GetAttachmentTable 成功返回,可能是在表对调用客户端完全可用之前。 如果该表不可用,则对其进行后续调用可能会导致错误。
lppTable
[out]指向指向附件表的指针的指针。
返回值
S_OK
已成功检索附件表。
备注
IMessage::GetAttachmentTable 方法返回指向邮件附件表的指针,其中包括有关邮件中所有附件的信息。 客户端只能通过附件表访问附件。 通过检索附件的 编号PR_ATTACH_NUM (PidTagAttachNumber) 属性,客户端可以使用多种 IMessage 方法来处理附件。
每个附件都有一行。 有关附件表中列的完整列表,请参阅 附件表。
附件通常不会出现在附件表中,直到通过调用 IMAPIProp::SaveChanges 保存附件和邮件。 附件表是动态表。 如果客户端在对邮件的附件进行 SaveChanges 调用后创建新的附件、删除现有附件或更改一个或多个属性,则附件表将更新以反映新信息。
某些附件表支持多种限制;其他人没有。 对限制的支持取决于消息存储提供程序的实现。
最初打开时,附件表不一定按任何特定顺序排序。
在 ulFlags 参数中设置MAPI_UNICODE标志会影响对附件表的以下调用:
用于检索列集的 IMAPITable::QueryColumns。
用于检索行的 IMAPITable::QueryRows。
用于检索排序顺序的 IMAPITable::QuerySortOrder。
设置 Unicode 标志会请求这些调用返回的任何字符串列的信息采用 Unicode 格式。 但是,由于并非所有消息存储提供程序都支持 Unicode,因此设置此标志只是一个请求。