具有64位Outlook的32位MAPI应用 [英] 32-bit MAPI app with 64-bit Outlook

查看:75
本文介绍了具有64位Outlook的32位MAPI应用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们的应用程序的32位版本无法使用安装了64位Outlook的MAPISendMail发送电子邮件.它返回错误0x80004005,除了似乎是MAPI初始化错误外,我几乎找不到任何其他信息.

The 32-bit version of our app is unable to send email using MAPISendMail with 64-bit Outlook installed. It returns an error 0x80004005, about which I can find little information beyond the fact that it seems to be a MAPI initialization error.

根据此MSDN文档MAPISendMail是32位应用程序不能使用64位MAPI的规则的一个例外.但是它不起作用(至少在XP和Vista中-我们尚未测试Win7/8).

According to this MSDN document, MAPISendMail is the one exception to the rule that 32-bit apps can't use 64-bit MAPI. And yet it doesn't work (at least with XP and Vista--we haven't tested Win7/8 yet).

任何人都可以阐明这一点吗?

Can anyone shed any light on this?

TIA

推荐答案

没有例外:32位进程无法加载64位dll. 当您具有64位版本的Outlook时,mapi32.dll的64位版本将包含实际的实现. mapi32.dll的32位版本是一个存根,它什么也不做,只返回错误.

There are no exceptions: a 32 bit process cannot load a 64 bit dll. When you have the 64 bit version of Outlook, the 64 bit version of mapi32.dll contains the actual implementation. The 32 bit version of mapi32.dll is a stub that does nothing but return an error.

这篇关于具有64位Outlook的32位MAPI应用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆