BTo*_*TKD 5 c++ windows com shell-extensions 32bit-64bit
前提:
我有一个旧的32位COM shell扩展(用C++编写).经过多年与更新的64位系统的不兼容,我们现在正在更新它以在64位Windows环境中工作.
诀窍:
32位COM DLL包含对第三方库的依赖性,对于这些库,没有可用的64位版本.因此,我们不能简单地"重新编译64位".鉴于此限制,我们决定最简单的方法是创建一个"瘦"的64位DLL; 本质上是一个空DLL,只定义所需的接口,并将所有调用重定向到底层的32位COM DLL.
我相信通过使用COM代理,可以在64位COM DLL和32位COM DLL之间进行通信.不幸的是,这似乎是一个非常具体/小众的主题,我一直无法找到很多关于如何从64位COM DLL调用32位COM API的资源.
问题:
澄清:
这个问题有许多方面使它独特,使其与" 在Windows 7 64位中使用32位外壳扩展 "这一问题区分开来.
我不是在询问是否可以在64位资源管理器进程中加载32位shell扩展,正如引用的问题所做的那样.相反,我问是否有可能创建DLL的精简64位实现,它充当64位资源管理器进程和32位实现之间的桥梁.
要清楚,这是不可能的.

但也许这是?
