在COM Server中创建一个线程,并在此线程中调用对象方法来触发事件,但不管用!?
我在独立的EXE中创建COM对象,并在它的一个方法中创建了一个线程,然后在线程中调用该对象的方法,试图发送一个事件给客户,但不起作用,好像什么也没执行。代码例子如下:
static void _cdecl MyThread(void *pThis)
{
((CMyServer*)pThis)->Fire_EventXyz(); // fail, do nothing
}
STDMETHODIMP CMyServer::MethodFoo1(void)
{
_beginthread(MyThread, 0x100000, this);
}
STDMETHODIMP CMyServer::MethodFoo2(void)
{
Fire_EventXyz(); // OK
}