【发布时间】:2010-07-14 15:13:46
【问题描述】:
我有一个 com 服务器,其中一些接口暴露了一些 API
COM 类如下所示
class ATL_NO_VTABLE CTask :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CTask, &CLSID_Task>,
public ITask
{
public:
STDMETHOD (Task)();
STDMETHOD (ABC)();
...
}
现在这个 com 服务器还包含一个类 XYZ
ABC API 需要调用 XYZ 功能
STDMETHODIMP ABC()
{
XYZ xyz;
xyz.dosomething();
}
dosomething函数需要调用com server的Task函数,如下图
class XYZ
{
public:
void dosomething()
{
// need to call Task function
}
};
如何做到这一点?我需要在 dosomething 中 CoCreateInstance ITask 吗?
我尝试创建 CTask 任务;在做某事,但它给出了一些错误。
【问题讨论】:
-
“给出了一些错误”并不能帮助我们帮助您。
-
无法创建抽象类 CTask 的实例。方法 QueryInterface、AddRef、Release 未实现
标签: visual-c++ com atl