2009-07-27 5 views
0

C# 2005에서 C++ 응용 프로그램을 다시 작성하고 있습니다.이 응용 프로그램에는 C++ 서비스에서 시작할 수있는 하나의 독립 프로세스 COM 서버가 2 개 있습니다. COM 서버는 나가는 인터페이스를 사용합니다. 즉, 특정 이벤트가 발생하면 C++ 서비스 모듈에서 이벤트 처리기 메서드를 호출합니다.C# 2005 COM 및 .NET 액세스가 거부 됨 0x80070005 E_ACCESSDENIED

C++ 서비스 부분을 다시 작성합니다. 지금 당장은 Runtime Callable Wrapper와 Connection point를 사용하여 COM 서버를 시작하고 이벤트 핸들러 메소드 구현을 제공하는 앱을 개발했습니다. 응용 프로그램을 실행할 때 COM 서버가 정상적으로 시작되지만 COM 서버가 응용 프로그램의 이벤트 처리기 메서드를 호출하려고하면 예외가 발생합니다.

액세스가 거부되었습니다. (HRESULT에서 예외 : 0x80070005입니다 (E_ACCESSDENIED))

나는 웹에게 많은 수색이 밀접하게 내 문제와 관련된 몇 가지 항목은 다음과 같습니다 http://www.codeproject.com/Forums/1648/COM.aspx?fid=1648&select=2189754&fr=1792#xx2189754xx

어떤 도움을 크게 감상 할 수있다.

답변

0

COM interop DLL을 개발할 때 빌드 프로세스 중에 동일한 오류가 발생했습니다. GAC에서 이전 버전의 DLL을 제거하여 문제를 해결했습니다. 그런 다음 E_ACCESSDENIED 오류없이 DLL을 빌드 할 수있었습니다.