VC如何调用ATL写的COM EXE组件(进程外组件)? 急!!!!!!!!!!

时间:2022-11-21 23:19:37
用ATL写了一个EXE.抛出一个接口.但不知道如何调用?

3 个解决方案

#1


和进程内COM一样的
CoInitialize (NULL)
CoCreateInstance(REFCLSID rclsid,

  LPUNKNOWN pUnkOuter,

  DWORD dwClsContext,

  REFIID riid,

  LPVOID * ppv

CoUninitialize ()
ppv就是你要的接口,可以直接用

当然,你得事先知道CLSID和IID

#2


如果是远程的组件,请使用CoCreateInstanceEx

#3


为什么我用ATL写的Executable(exe)写的EXE,CoCreateInstance可以成功创建COM对象,但无法调用此接口的对象.
而使用Service(exe)写的EXE,一切OK
不明白为什么?????请高手指点..................

#1


和进程内COM一样的
CoInitialize (NULL)
CoCreateInstance(REFCLSID rclsid,

  LPUNKNOWN pUnkOuter,

  DWORD dwClsContext,

  REFIID riid,

  LPVOID * ppv

CoUninitialize ()
ppv就是你要的接口,可以直接用

当然,你得事先知道CLSID和IID

#2


如果是远程的组件,请使用CoCreateInstanceEx

#3


为什么我用ATL写的Executable(exe)写的EXE,CoCreateInstance可以成功创建COM对象,但无法调用此接口的对象.
而使用Service(exe)写的EXE,一切OK
不明白为什么?????请高手指点..................