修改 MAPI 邮件的收件人

Modify Recipients for a MAPI message


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

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

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

使用IMAPITable::QueryRows。或 HrQueryAllRows(将 IMAPITable::SetColumns/Restrict/QueryRows 包装在一次调用中)。 SRowSet 可以转换为 AdrList - 它们具有相同的内存布局。