我现在想通过CoCreateInstance建立接口连接!
我该如何创建一个类与接口连接起来?hr = CoCreateInstance(CLSID_MyManager,
                      NULL,
                      CLSCTX_INPROC_SERVER,
                      IID_Manager,
                      reinterpret_cast<void **> (&pManager));让com内部运行时调用我定义的类?
MyManager时根据它的base类产生

解决方案 »

  1.   

    CoCreateInstance
    HRESULT __stdcall CoCreateInstance(
        const CLSID& clsid,
        IUnknown* pIUnknownOuter,
        DWORD dwClsContext,
        const IID& iid,
        void** ppw
        );dwClsContext值:CLSCTX_INPROC_SERVER
     客户希望创建在同一进和中运行的组件。为能够同客户在同一进程中运行,组件必须
    是在DLL中实现的。
    CLSCTX_INPROC_HANDLER
    客户希望创建进程中处理器。一个进程中处理器实际上是一个只实现了某个组件一部分的
    进程中组件。该组件的其他部分将由本地或远程服务器上的某个进程外组件实现。
    CLSCTX_LOCAL_SERVER
    客户希望创建一个在同一机器上的另外一个进程中运行的组件。本地服务器由EXE实现的。CLSCTX_REMOTE_SERVER
    客户希望创建一个在远程机器上运行的组件。此标志需要分布式COM正常工作。
      

  2.   

    看看他的blog,讲的详细
    http://www.donews.net/Grandia/archive/2005/02/07/270979.aspx
      

  3.   

    是要把dwClsContext的值变为:CLSCTX_LOCAL_SERVER?好像也不行的