C++ 在C+中触发COM事件+;-同步还是异步?

C++ 在C+中触发COM事件+;-同步还是异步?,c++,com,activex,atl,C++,Com,Activex,Atl,我有一个使用MS ATL库编写的ActiveX控件,我正在通过pDispatch->Invoke(…,DISPATCH\u方法)触发事件。该控件将由.NET客户端使用,我的问题是-事件的触发是同步调用还是异步调用?我担心的是,如果是同步的,处理事件的应用程序可能会导致性能问题,除非它立即返回。从生成事件的组件的角度来看,它是同步的。控件的执行线程将调用到接收方代码中,此时事情就失去了它的控制 接收事件的客户端必须确保它们快速返回。如果他们需要做大量的工作,那么他们应该异步安排。例如,通过发布wi

我有一个使用MS ATL库编写的ActiveX控件,我正在通过
pDispatch->Invoke(…,DISPATCH\u方法)
触发事件。该控件将由.NET客户端使用,我的问题是-事件的触发是同步调用还是异步调用?我担心的是,如果是同步的,处理事件的应用程序可能会导致性能问题,除非它立即返回。

从生成事件的组件的角度来看,它是同步的。控件的执行线程将调用到接收方代码中,此时事情就失去了它的控制


接收事件的客户端必须确保它们快速返回。如果他们需要做大量的工作,那么他们应该异步安排。例如,通过发布windows消息,或使用单独的线程。

从生成事件的组件的角度来看,它是同步的。控件的执行线程将调用到接收方代码中,此时事情就失去了它的控制

接收事件的客户端必须确保它们快速返回。如果他们需要做大量的工作,那么他们应该异步安排。例如,通过发布windows消息,或使用单独的线程