У меня есть один com-сервер с некоторыми интерфейсами, выставляющими некоторые API
Класс COM выглядит следующим образом
class ATL_NO_VTABLE CTask :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CTask, &CLSID_Task>,
public ITask
{
public:
STDMETHOD (Task)();
STDMETHOD (ABC)();
...
}
Теперь этот ком-сервер также содержит еще один класс XYZ
API ABC необходимо вызвать функциональность XYZ
STDMETHODIMP ABC()
{
XYZ xyz;
xyz.dosomething();
}
функция dosomething должна вызывать функцию Task сервера com, как показано ниже
class XYZ
{
public:
void dosomething()
{
// need to call Task function
}
};
Как это можно сделать? Нужно ли создавать CoCreateInstance ITask для чего-либо?
Я попытался создать задачу CTask; в чем-то, но это дало некоторые ошибки.