我想在一个exe文件内实现一个COM对象,一般情况下这个exe文件是一直运行着的,完成一些信息处理和用户交互的工作。当一个客户程序申请使用COM对象时,该程序提供这个COM对象的服务。不知道这样是否可行?我总觉得如果一个客户程序申请一个COM对象时,系统好像不会去检测当前是否有这样的一个exe文件正在运行,而是直接的再在后台启动一个新的exe程序,由该进程来提供COM对象的服务。那位大侠解答一下,多谢了!!

解决方案 »

  1.   

    如果你的进程在无参启动时调用CoRegisterClassObject,则后续的请求不启动新进程
      

  2.   

    那么这样的话,是否需要有多个线程来处理COM服务。另外,我还希望这个程序再提供COM服务的时候
    能够继续响应用户的操作,这个是否一定要多线程来实现了?
      

  3.   

    我也有问题!
    我按潘爱民翻译的那本《COM技术内幕-微软组件对象模型》第十章在VC6.0下做进程外服务程序,做好IDL文件,然后用MIDl编译生成代理/存根的C文件,然后编译这些代理/存根文件时过不去,提示错误如下:
    proxy.def : error LNK2001: unresolved external symbol DllRegisterServer
    proxy.def : error LNK2001: unresolved external symbol DllUnregisterServer
    Debug/Proxy.lib : fatal error LNK1120: 2 unresolved externals
    LINK : fatal error LNK1141: failure during build of exports file应该是说没有引出自注册和卸载的函数。