[Microsoft]
동일한 스레드에서 HtmlHelp 함수를 호출한 후 CoInitializeEx 함수가 실패함
gurupia
2023. 11. 3. 12:09
동일한 스레드에서 HtmlHelp 함수를 호출한 후 CoInitializeEx 함수가 실패함
- 아티클
- 2023. 04. 20.
이 문서의 내용
이 문서에서는 동일한 스레드에서 함수를 호출한 후 CoInitializeEx 함수 가 실패하는 HtmlHelp 문제를 설명합니다.
적용 대상: 지원되는 모든 운영 체제
증상
애플리케이션이 지정된 값을 사용하여 를 호출하기 전에 를 호출 HtmlHelpCoInitializeEx 하는 경우 를 COINIT_MULTITHREADEDCoInitializeEx 반환 RPC_E_CHANGED_MODE (0x80010106)할 수 있습니다. 결과적으로 애플리케이션이 충돌하거나 중단되거나 예기치 않은 동작이 표시될 수 있습니다.
원인
를 호출 HtmlHelp 하는 스레드가 또는 CoInitializeExHtmlHelp 을 사용하여 CoInitialize 초기화되지 않은 경우 를 사용하여 스레드를 아파트 스레드COINIT_APARTMENTTHREADED로 초기화합니다.
해결 방법
문제를 해결하고 단일 스레드에서 COM 초기화의 충돌을 방지하려면 새 스레드를 만들고 해당 스레드에서 를 호출 HtmlHelp 합니다.