进程外Com组件实现

sanshui sanshui 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
应用场景:现在整个程序需要在64位下运行,但有一部分模块功能(使用第三方库)只有32位,所以准备使用进程外com来实现,不需要考虑进程通信的问题。

预期解决方案:com中一个接口提供一个对象(相当于通信对象),这个对象是唯一的,在64位进程中使用CoCreateInstance创建,但这个对象需要在queryInterface另一个接口时,new出来一个其他类的对象给外部使用(可能会有多次query)。

问题:1.不熟悉com的编程,这个解决方案可以实现嘛?是否有更优的解决方案?
2.使用ATL很多东西都封装起来了,QueryInterface可以自定义? 多接口不同类对象ATL实现com复杂?
...全文

相关推荐

【Win32】进程外COM组件的实现,包括本地和远程调用客户端

进程外COM组件的示例代码,压缩包内包含以下工程。 1、服务器程序 1)CalculationSimpleCOM,是一个进程外COM服务器,拥有一个ICalc接口; 2)CalculationSimpleCOMProxy,是服务器端和客户端共用的存根代理dll; 3)CalculationAutomation,是一个进程外自动化服务器,拥有一个ICalc2接口。 2、本地调用客户端程序 1)TestSimpleCOM,用于调用CalculationSimpleCOM服务器进行本地调用测试; 2)TestAutomation,用于调用CalculationAutomation服务器进行本地调用测试。 3、远程调用客户端程序 1)TestRemote,分别调用上述两个服务器进行远程调用测试; 2)TestRemoteAutomation,假设客户端只有服务端的tlb文件,将tlb转化为代理存根dll进行远程调用; 3)TestRemoteAutomationProxy,自动化服务器的tlb转化为代理存根dll项目。

春风世界

实现与掌握COM进程外组件的简易教程

接口定义语言(IDL)对于开发COM组件来说至关重要,因为它允许开发者定义可以在不同编程语言之间共享的接口。IDL文件作为COM组件之间通信的桥梁,确保了接口的标准化描述。IDL描述了组件如何与外界通信,它是一种语言无关的描述方式,允许编译器生成不同语言版本的代理和存根代码。这使得COM组件能够被不同的语言调用,增加了组件的可重用性和互操作性。类厂是一个特殊的COM对象,它实现了接口。这个接口有两个主要方法:和LockServer。通过这些方法,类厂可以控制如何创建组件实例。

南明小王爷

进程外com组件实现win764位软件调用32位库

通过进程外Com组件实现64位程序调用32库(主要实现64位程序调用32Com组件的创建、注册、和调用)

飘飘何所似天地一沙鸥

简单的COM进程外组件

博客配套代码,详细演示了IDL生成组件代理存根dll,进程外组件编写和注册,及进程外组件调用方法。

文大侠666

atl,com,进程外服务器

atl,com,进程外服务器

一彤
评论 5
收藏 已收藏
分享
返回顶部
sanshui
ATL 3,248 成员 48,530 内容