阅读背景:

COM 经验的八个教训(3):STA 线程需要消息循环

来源:互联网 

上一部分中描述的应用程序还有另一个致命缺陷。看看您是否能指出来。

这个特殊的应用程序恰好是用 MFC 编写的。在一开始,它使用了 MFC 的 AfxBeginThread 函数启动一系列辅助线程。每个辅助线程要么调用 CoInitialize 要么调用 AfxOleInit(MFC 中类似 CoInitialize 的函数)来初始化 COM。某些辅助线程则调用 CoCreateInstance 来创建 COM 对象,并将所返回的接口指针封送到其他辅助线程。从创建这些对象的线程中调用对象将非常顺利,但从其他线程的调用却从不返回。您知道这是为什么吗?这个特殊的应用程序恰好是用 MFC




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: