修改MAPI邮件的收件人

Modify Recipients for a MAPI message

本文关键字:收件人 MAPI 修改      更新时间:2023-10-16


我需要做的是备份MAPI邮件的收件人,并对邮件进行一些修改(这可能也会更改收件人),然后我想再次将备份的收件人复制回邮件,流程如下:

message是MAPI IMessage对象
调用消息->GetRecipientTable,结果为LPMAPITABLE
对邮件进行更改
call message->ModifyRecipients,它接受LPADRLIST

我的问题是,我想获得结果LPMAPITABLE并将其输入到ModifyRecipients中,但它只需要LPADRLIST。有办法转换吗?除了循环LPMAPITABLE并逐个复制之外?

使用IMAPITable::QueryRows。或者HrQueryAllRows(其将IMAPITable::SetColumns/Restrict/QueryRows封装在单个调用中)。SRowSet可以转换为AdrList——它们具有相同的内存布局。