在同一线程上调用 HtmlHelp 函数后,CoInitializeEx 函数失败
本文讨论在同一线程上调用HtmlHelp
函数后 CoInitializeEx 函数失败的问题。
适用于: 所有支持的操作系统
症状
如果应用程序使用指定的值调用之前调用 HtmlHelp
CoInitializeEx
,CoInitializeEx
则可以返回 RPC_E_CHANGED_MODE (0x80010106)
。COINIT_MULTITHREADED
因此,应用程序可能会崩溃、挂起或显示意外行为。
原因
如果调用 HtmlHelp
的线程尚未使用 CoInitialize
或 CoInitializeEx
进行初始化, HtmlHelp
则使用 COINIT_APARTMENTTHREADED
将线程初始化为单元线程。
解决方法
若要解决此问题并避免单个线程上的 COM 初始化冲突,请创建一个新线程并在该线程上调用 HtmlHelp
。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈