0
관리되지 않는 C 코드에서 .NET COM 라이브러리에 액세스하려고합니다.CoCreateInstance가 0x80131500과 함께 실패했습니다.
HRESULT hr = CoCreateInstance(__uuidof(XYZClient::XClient), NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pCl));
hr 결과는 0x80131500
이며 이는 COM 라이브러리에서 예외가 발생했음을 의미합니다. 하지만 디버깅 할 때 .NET 클래스의 생성자에 들어 가지 않습니다.
COM을 통해 .NET에서 호출하면 잘 작동합니다.
적어도 예외 메시지를받는 방법에 대한 아이디어가 있으십니까?
편집 : Windows XP에서는 정상적으로 작동하지만 Win7 x64에서는 실패합니다.
Windbg를 사용하면 더 많은 정보를 얻을 수 있습니다. http://blogs.msdn.com/b/alejacma/archive/2009/08/24/managed-debugging-with-windbg-breaking-on-an-exception-part- 1.aspx –
이 클래스에 대한 typelib을 등록 했습니까? – user2702006
예 모두 올바르게 등록되었습니다. 문제는 종속 라이브러리에있었습니다. – keaukraine