2014-12-11 3 views
0

내 32 비트 MFC C++ (VS 2010) 응용 프로그램은 설치 프로그램에서 vsdrfCOM 옵션으로 등록한 32 비트 dll COM 구성 요소를 사용합니다. 이 응용 프로그램은 Windows 7 Pro 64 비트에서 실행됩니다.제 3 자 dll에서 간헐적 인 "클래스가 등록되지 않았습니다"(0x80040154) 오류가 발생할 수 있습니까?

이 오류를 본 적이없는 다른 여러 시스템과 동일한 드라이브 이미지를 기반으로하는 하나의 시스템에서만 간헐적 인 새로운 오류가 발생합니다. 우리는이 코드를 여러 번 1 초라고 부릅니다. 더 효율적으로 만들 수있는 여유가있는 것처럼 보이지만 이전에는 문제가 없었던 이유는 무엇입니까?

// Initialize SPC I/O Library COM object 
(void)CoInitialize(NULL); // Initialize COM 
CComPtr<IGSpcIO> pSpcIO; // define COM pointer to the SPC I/O Library object 
HRESULT hr = pSpcIO.CoCreateInstance(CLSID_GSpcIO); // Create COM pointer 

위의 코드는 대부분의 시간을 작동하지만 내가 CoCreateInstance를() 통화에 발생하는 일시적인 오류를 얻고있다.

0x80040154를 반환 할 수있는 다른 문제는 무엇을 찾고 있습니까?

+1

간헐적으로 오류가 발생하지 않습니다. 기계 정크. –

답변

0

간헐적 인 이유를 알 수 없습니다. procmon.exe를 사용하여 레지스트리 액세스 및 파일 액세스를보고 실패 할 때 조건을 확인합니다. 레지스트리에서 클래스를 찾을 수 없는지 또는 DLL (COM 서버)을로드하는 데 문제가 있는지 여부를 알아야합니다.

관련 문제