通过进程外com组件实现win764位程序调用32位库 附加dem
番茄系统家园 · 2021-08-12 22:57:17

背景:客户有个功能需要添加到软件中,但软件是64位,客户只能提供32位库。
环境:电脑系统为位,编译环境为
实现方式:使用进程外Com组件实现。
前言:Com组件有三种模式:进程内组件(dll)、进程外组件(exe)、远程组件()。因为32位和64位程序不兼容,进程内组件无法实现;32位库可以在本地调用,所以没有必要选择;
原理:64位和32位程序不能在同一进程中兼容,所以创建一个32位进程外Com组件,在该组件中加载32库,并创建接口封装32库里的功能,最后通过输入输出参数实现数据交互,64位程序通过调用进程外组件的接口实现调用32库的功能。64位程序和组件分别在不同的进程,所以需要代理/存根Dll进行接口参数的转换传输管理。
主要步骤:实现进程外Com组件调用共有如下4个步骤:
(1)创建进程外Com组件
(2)创建代理/存根()DLL
(3)注册组件和代理/存根
(4)调用组件接口
注意:因为权限问题,下列项目最好用管理员权限打开,并且将属性中的UAC执行级别修改为
实现进程外Com组件调用详细步骤如下:
一、创建进程外Com组件
创建方式:通过ATL项目创建
步骤如下:
1、创建ATL项目:创建项目;注意选择exe类型,支持代理/存根,如下图所示:
免责声明: 凡标注转载/编译字样内容并非本站原创,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如果你觉得本文好,欢迎推荐给朋友阅读;本文链接: https://m.nndssk.com/post/31013.html。猜你喜欢
最新应用
热门应用

