自己创建COM ProxyStub工程

      在visual studio下,如果采用ATL模板编写COM进程外服务器(Local/Remote Server),编译器将自动生成ProxyStub(PS)的工程。利用IDL文件编译出来的相关文件可以直接编译链接成功。但是其中隐藏了很多的细节,本文从一个空的dll工程开始创建一个PS工程,并说明一下需要注意的细节。

      本文以《inside COM》中第十章"Servers in EXEs"中的代码为例。

      利用以下命令编译IDL文件server.idl:

              midl /h iface.h /iid guids.c /proxy proxy.c server.idl

      生成的文件包括:

              Header File: iface.h

              IID File: guids.c

              DLL Data File: dlldata.c

              Proxy File: proxy.c

 

      利用Visual Studio 2008创建一个空的dll工程,将以上文件都添加到工程中。将《inside COM》所提供的DEL文件proxy.def文件也添加到工程中。proxy.def内容如下:

             

              LIBRARY         Proxy.dll
              DESCRIPTION     'Proxy/Stub DLL'

              EXPORTS
                DllGetClassObject   @1 PRIVATE
                DllCanUnloadNow     @2 PRIVATE
                GetProxyDllInfo     @3  PRIVATE
                DllRegisterServer   @4 PRIVATE
                DllUnregisterServer @5 PRIVATE

 

      这时的工程如下图所示:

 


        Build工程,发现源文件均编译通过,但是Link出错,错误信息如下

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值