现有一应用程序要调用进程外组件,在应用程序中的主干类不是Com的,但他有一个属性用来保存Com接口,形势如下 class CApplication
{
public:
CComPtr<IGFSML> mGFSMLPtr;
public:
void StartApplication()
private:
static DWORD WINAPI Process(LPVOID param)(线程)
} 在StartApplication中调用GetEvent(CEvent *event)函数成功,但在Process中调用失败,并不是出现异常或严重错误,而是无法获得事件。由于本人对Com知识比较匮乏,请各位高手指点一下,在多线程情况下使用Com的方法,谢谢!
{
public:
CComPtr<IGFSML> mGFSMLPtr;
public:
void StartApplication()
private:
static DWORD WINAPI Process(LPVOID param)(线程)
} 在StartApplication中调用GetEvent(CEvent *event)函数成功,但在Process中调用失败,并不是出现异常或严重错误,而是无法获得事件。由于本人对Com知识比较匮乏,请各位高手指点一下,在多线程情况下使用Com的方法,谢谢!
CoInitialize()
如果是自由线程,要用CoInitializeEx
CLSCTX_REMOTE_SERVER, &mtServerInfo, 1, &mtQi); 建立并且用了mGFSMLPtr.Attach((IGFSML *)mtQi.pItf);请各位高手指点。