Mat*_*att 6 c++ com visual-studio-2010
我是COM编程的新手,并且从Visual Studio 2010创建了一个基本的本机COM服务器/客户端对.客户端和服务器项目都存在于同一个解决方案中.我想知道在客户端项目中包含生成的客户端存根和头文件最合适的方法是什么.我在我的服务器项目中创建了MIDL,当我编译项目时,_h.h,_i.c和_p.c文件在我的项目源目录中生成.
另外 - 我想免费注册.除了为我的客户端和服务器提供清单之外,在这种情况下我还需要做些什么吗?
..
编辑
看看这里的MSDN文章:http://msdn.microsoft.com/en-us/library/windows/desktop/aa366830(v = vs.85).aspx,看来生成的文件,如果我只想要为了支持进程内无reg激活,我只需要编译_i.c并在我的客户端程序中包含_h.h文件.
dlldata.c和_p.c似乎被用来创建一个代理DLL,它通过一个远程计算机支持远程计算机(用于激活上登记?或也本地计算机,出PROC的?如果它需要本地计算机,出proc,为什么需要COM服务器的dll才能注册?COM服务器DLL与代理DLL不同,是吗?)
非常感谢,
--Matt
必须将生成的_p.c和dlldata.c编译为单独的项目以构建代理/存根DLL.只有当您在公寓或流程中调用电话时,您并不总是需要一个.
生成的_i.c文件提供GUID值.将其编译到服务器和代理/存根中.将其编译到客户端是可以的,但使用__uuidof关键字是最简单的.
生成的_i.h文件包含接口和coclass声明.您需要在服务器和客户端中#include它.
更改.idl时,Midl.exe应自动重新生成这些文件.这反过来确保重建客户端,服务器和代理/存根.
stdafx.h很好,是的include目录.
在"引用"上没有,客户端和服务器没有链接依赖性.
您必须为reg-free com编写清单并将其嵌入客户端.
| 归档时间: |
|
| 查看次数: |
3417 次 |
| 最近记录: |