本人自己写了个COM组件Dll.又写了一个客户端,客户端调用CoCreateInstance()时 总报E_OUTOFMEMORY?那位能帮忙想想可能问题处在那里。不胜感激!

解决方案 »

  1.   

    我是按《COM原理与应用》的例子,写的MFC COM组件,dll形式。
    客户端调用方法是
    先 HRESULT hResult = ::CLSIDFromProgID (L"Pack.Object", &packCLSID);
    if (hResult != S_OK)
    {
    AfxMessageBox("Error 2");
    return ;
    }
    hResult = ::CoCreateInstance(packCLSID, NULL, CLSCTX_INPROC_SERVER, IID_IUnknown, (void**)&pUnknown);
    执行这一步总返回E_OUTOFMEMORY.
    如果已确定是组件程序有问题,能不能讲讲可能是那里写错了。