COM/ATL로 만든 기능을 다이얼로그 등에서 작업할 때에는 정상적으로 동작하지만, Thread 속에 넣으면 에러가 발생하는 경우가 있다. 이때는 스레드에서 사용함을 초기화해야 한다. CoInitializeEx(NULL, COINIT_MULTITHREADED); // COM 시작 시 ::CoUninitialize(); // 종료 시 해당 코드를 CoCreateInstance() 사용 전과 프로그램이 닫히기 전에 추가하면 스레드에서도 정상적으로 사용할 수 있다.