다음을 통해 공유


동일한 스레드에서 HtmlHelp 함수를 호출한 후 CoInitializeEx 함수가 실패함

이 문서에서는 동일한 스레드에서 함수를 호출한 후 CoInitializeEx 함수 가 실패하는 HtmlHelp 문제를 설명합니다.

적용 대상: 지원되는 모든 운영 체제

증상

지정된 COINIT_MULTITHREADED 값을 사용하여 호출하기 전에 애플리케이션이 호출 HtmlHelp CoInitializeEx 하는 경우 반환RPC_E_CHANGED_MODE (0x80010106)할 수 CoInitializeEx 있습니다. 결과적으로 애플리케이션이 충돌하거나 중단되거나 예기치 않은 동작이 표시될 수 있습니다.

원인

호출 HtmlHelp 하는 스레드가 초기화 CoInitialize 되지 않았거나 CoInitializeEx해당 HtmlHelp 스레드를 아파트 스레드로 COINIT_APARTMENTTHREADED초기화한 경우 .

해결 방법

문제를 해결하고 단일 스레드에서 COM 초기화의 충돌을 방지하려면 새 스레드를 만들고 해당 스레드를 호출 HtmlHelp 합니다.