Partager via


Échec de la fonction CoInitializeEx après l’appel de la fonction HtmlHelp sur le même thread

Cet article traite d’un problème dans lequel la fonction CoInitializeEx échoue après l’appel de la HtmlHelp fonction sur le même thread.

S’applique à : Tous les systèmes d’exploitation pris en charge

Symptômes

Si une application appelle HtmlHelp avant d’appeler CoInitializeEx avec la valeur spécifiée COINIT_MULTITHREADED , CoInitializeEx peut retourner RPC_E_CHANGED_MODE (0x80010106). Par conséquent, l’application peut se bloquer, se bloquer ou afficher un comportement inattendu.

Cause

Si un thread qui appelle HtmlHelp n’a pas été initialisé avec CoInitialize ou CoInitializeEx, HtmlHelp initialise le thread comme étant apartment-thread avec COINIT_APARTMENTTHREADED.

Solution de contournement

Pour contourner le problème et éviter le conflit d’initialisation COM sur un seul thread, créez un thread et appelez-le HtmlHelp .