Freigeben über


Die CoInitializeEx-Funktion schlägt nach dem Aufrufen der HtmlHelp-Funktion im selben Thread fehl.

In diesem Artikel wird ein Problem behandelt, bei dem die CoInitializeEx-Funktion nach dem Aufrufen der HtmlHelp Funktion im selben Thread fehlschlägt.

Gilt für: Alle unterstützten Betriebssysteme

Symptome

Wenn eine Anwendung vor dem Aufrufen CoInitializeEx mit dem angegebenen COINIT_MULTITHREADED Wert aufruftHtmlHelp, CoInitializeEx kann zurückgebenRPC_E_CHANGED_MODE (0x80010106). Infolgedessen kann die Anwendung abstürzen, hängen bleiben oder unerwartetes Verhalten anzeigen.

Ursache

Wenn ein Thread, der aufruft HtmlHelp , nicht mit CoInitialize oder CoInitializeExinitialisiert wurde, HtmlHelp initialisiert den Thread als Apartmentthread mit COINIT_APARTMENTTHREADED.

Problemumgehung

Um das Problem zu umgehen und den Konflikt bei der COM-Initialisierung in einem einzelnen Thread zu vermeiden, erstellen Sie einen neuen Thread, und rufen Sie HtmlHelp für diesen Thread auf.