将Outlook对象模型MailItemPtr转换为c+中的MAPI IMessage+; 要求:我们需要创建一个DLL,它实际上在C++中使用MaMIDFS在Outlook中解密我的电子邮件。我们的产品团队将IMessage传递给DLL,我需要解密并以IMessage的形式传递解密后的电子邮件作为输出。 此DLL将在不同的客户端计算机上执行

将Outlook对象模型MailItemPtr转换为c+中的MAPI IMessage+; 要求:我们需要创建一个DLL,它实际上在C++中使用MaMIDFS在Outlook中解密我的电子邮件。我们的产品团队将IMessage传递给DLL,我需要解密并以IMessage的形式传递解密后的电子邮件作为输出。 此DLL将在不同的客户端计算机上执行,c++,encryption,outlook,mapi,C++,Encryption,Outlook,Mapi,但我未能使用mapidefs解密,并尝试使用OOM,我成功了。我的OOM程序接受并返回MailItemPtr作为输出。现在我需要将MailItemPtr转换为IMessage。我尝试了很多方法,但都没有成功 问题: 需要将MailItemPtr转换为MAPI IMessage和viceversa的帮助吗 感谢您的帮助阅读MailItem.MAPIOBJECT属性-它返回IMessage MAPI对象。您的代码似乎有问题。然而,我们不能帮助,除非我们有。否则,我们只是盲目猜测。嗨,凯斯,谢谢你的关

但我未能使用mapidefs解密,并尝试使用OOM,我成功了。我的OOM程序接受并返回MailItemPtr作为输出。现在我需要将MailItemPtr转换为IMessage。我尝试了很多方法,但都没有成功

问题: 需要将MailItemPtr转换为MAPI IMessage和viceversa的帮助吗


感谢您的帮助

阅读
MailItem.MAPIOBJECT
属性-它返回IMessage MAPI对象。

您的代码似乎有问题。然而,我们不能帮助,除非我们有。否则,我们只是盲目猜测。嗨,凯斯,谢谢你的关注。我们能够解密电子邮件并将其作为MailItemPtr返回,但我们需要作为IMessage输出。我们正在寻找一种将MailItemPtr转换为IMessageThanks的方法,感谢您的响应。我尝试使用MailItem.MAPIOBJECT,但发现一些问题。下面是我用来转换为IMessage IUnknownPtr u=oMsg->GetMAPIOBJECT()的代码段;IMessage msg=NULL;msg=(IMessage)(IUnknown*)u;SizedSPropTagArray(1,mcols)={1,{PR_SENDER_NAME};hr=msg->GetProps((SPropTagArray*)&mcols,0,&pcount,&props);我的程序在到达GetProps方法时突然关闭。似乎转换没有正常进行。很多天以来,我们一直对此感到震惊,非常感谢您提供的任何帮助。您需要首先为IID_IMessage查询返回的IUnknown接口。我尝试使用查询接口先获取IUnknown,然后使用该IUnknown接口获取IMessage。但似乎是同一个问题。您还可以给出一些关于如何将IMessage转换为MailItem的提示QI是否返回错误?你是先打电话给我的吗?谢谢你的回复。我现在解决了。我已经将mapi32.lib添加到链接器库中,然后它开始工作,首先使用IUnknown的查询接口,然后使用IMessage的查询接口。现在我可以从转换后的IMessage中读取属性。您能否提供一些关于将输入IMessage转换为MailItem的提示?可能吗?或者,我想将输入的IMessage保存到收件箱中的任何文件夹中,并且我可以使用OOM作为MailItem阅读它?但我无意中将IMessage保存到了收件箱的子文件夹中,谢谢您的帮助