Re: [cpp] 有关 STA 的疑问
qiaojie
qiaojie at gmail.com
Sun Mar 18 19:58:46 CST 2007
语焉不详,无从回答。
COM对象在哪个线程创建的?在哪个线程被调用的?哪个线程阻塞了?
On 3/15/07, sunpluto <sunpluto2004 at yahoo.com.cn> wrote:
>
> 各位大虾:
>
> 最近我写了个测试程序,用到 IEnumIDList 的 Next 操作枚举目录中的元素,但 IEnumIDList 是一个 COM
> 接口,而在我的主程序工作于 COM 的 STA 模式时,Next 操作的过程会阻塞,在阻塞的过程中会进行窗口消息的派发(STA
> 模式有内含一个隐藏的消息处理循环),若此时我关闭了主窗口,则窗口是不见了,但整个程序便挂起了(在隐含的消息处理循环中派发了 WM_DESTROY
> 消息,但是却无法从 Next 函数的访问中返回,程序就这样挂起了)。
>
> 我查到使用自定义的 IMessageFilter 可能可以解决这个问题,但我实现后却发现问题照旧。
>
> 我在网上找了很久,都没找到答案,讨论组中的大虾们,能解答一下么???
>
> 先谢拉。
>
>
> 致
> 礼
>
> ------------------------------
> Mp3疯狂搜-新歌热歌高速下 <http://music.yahoo.com.cn/?source=mail_mailbox_footer>
>
>
> _______________________________________________
> Cpp mailing list
> Cpp at codingnow.com
> http://codingnow.com/mailman/listinfo/cpp
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://codingnow.com/pipermail/cpp/attachments/20070318/756b365f/attachment.html
More information about the Cpp
mailing list