在COM Server中创建一个线程,并在此线程中调用对象方法来触发事件,但不管用!?

cchuocp cchuocp 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我在独立的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
}
...全文

相关推荐

评论 2
收藏 已收藏
分享
返回顶部
cchuocp
ATL 3,248 成员 48,530 内容