COINIT是一个枚举值,用于指定Windows线程是否在单线程或多线程的公寓中。文档(http://msdn.microsoft.com/en-gb/library/windows/desktop/ms678505(v=vs.85).aspx)说明:
多线程公寓旨在供非GUI线程使用,该公寓内的线程不应执行UI动作。这是因为UI线程需要消息泵,而COM不会为多线程公寓中的线程提供消息泵。
为什么多线程公寓中的线程不应执行UI动作?在多线程公寓中的线程中有一个消息循环有什么问题吗?COM是否会为单线程公寓中的线程提供自动消息循环?
CoRegisterMessageFilter
。 - Igor Tandetnik