Microsoft MVP성태의 닷넷 이야기
Managed 어셈블리에서의 COM EntryPoint procaddress 문제 [링크 복사], [링크+제목 복사],
조회: 17747
글쓴 사람
뽀로로
홈페이지
첨부 파일
 

COM쪽 지식이 부족하여, 질문에 상황 설명이 정확하게 될 수 있을지 모르겠습니다만 양해 부탁드리겠습니다.

현재 상황은 아래와 같습니다.
이전에 W32기반으로 개발된 내부 엔진이 있는 상태이며, 이 엔진은 COM으로 제작된 DLL들을 통해 확장 기능을 구현하고 있습니다. UI또한 이런 식으로 확장이 되어 있는데, 현재 .NET 3.5CF 기반으로 제작된 WPF 기반의 UI 어플리케이션과 이 엔진을 연동해야 할 필요성이 생긴 상태입니다.

기존의 경우, 엔진과 UI 확장 모두 W32기반으로 구성되어 있고 이를 위한 COM 인터페이스는 확정이 된 상태라, COM interop을 통해 이를 구현하는 managed assembly로 UI기반을 대체하고 이를 UI 어플리케이션과 연동하고자 하는 계획을 가지고 있습니다. 헌데 문제는, 엔진 내부에서 확장 모듈을 불러 올 때 명시적으로 몇몇 EntryPoint를 체크하고 있는데, DllCanUnloadNow() / DllGetClassObject()의 두 함수의 주소를 확장 DLL 로딩시에 반드시 저장하도록 하고 있습니다만 Managed 어셈블리에서는 이 Entrypoint를 찾지 못하고 있습니다. 제 COM interop 구현에 문제가 있는 것인지, 아니면 우회할 수 있는 방법이 있는지 여쭙고자 질문을 드립니다.








[최초 등록일: ]
[최종 수정일: 12/12/2011]


비밀번호

댓글 작성자
 



2011-12-13 10시28분
다소 이해할 수 없는 상황인데요. 해당 COM 개체로부터 DllCanUnloadNow/DllGetClassObject 함수의 주소를 가져올 수 없다면 - 즉 EntryPoint를 가져올 수 없다면, '사용'하는 것 역시 안되어야 정상일텐데요. (개별적인 사용은 되나요?)

그리고, 위의 글 만으로는 제가 추측할 수 있는 방법이 거의 없습니다.

'Win32 기반으로 개발된 내부 엔진'이라고 했으니... 어쨌든 그 엔진의 소스 코드를 디버깅하면 쉽게 나올 수 있는 문제가 아닐까 싶은데요. 어차피 정형화된 GetProcAddress와 LoadLibrary를 사용하고 있을테니까요.
정성태

... 16  17  18  19  [20]  21  22  23  24  25  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
5466pr1/29/202114529c# winform load시 작업표시줄에 뜨지 않는 현상을 겪으신적이 있으신가요? [4]파일 다운로드1
5465영귤1/28/202114472두 번째 await 부터는 스레드 개수만 늘어나는 것이 아닌가요 [1]
5464민우1/26/202116047C# 빌드시 코드 치환되는걸 확인하는 방법 문의 [2]
5463한예지 donator1/24/202116744Parameters.AddWithValue 와 Parameters.Add 의 차이점이 궁금합니다. [2]
5462C#초보1/22/202117081사용자 정의 메시지 전달이 가능한가요? [2]
5461한예지 donator1/22/202115250AsEnumerable() 메서드 질문 있습니다! [2]
5459한예지 donator1/21/202115065typeof와 GetType의 차이점 질문있습니다. [2]
5458진우1/20/202116163C# DataTable 에 SQL 쿼리문을 실행하는 방법 문의 (LINQ 사용하지 않고) [6]
5456성민1/17/2021174719.0 출간 계획이 있으신가요? [2]
5455한예지 donator1/16/202115256교재 194페이지 콜백메서드 질문 있습니다! [5]
5454한예지 donator1/15/202113829교재 208쪽 질문....있습니다... [3]
5453안녕하세요1/15/202115795C# dll 파일을 C++에서 사용 시 memory leak 문제 [2]파일 다운로드1
5452예지1/15/202115305var를 사용할 수 없는 이유가 궁금합니다! [3]
5451예지1/14/202113245for문의 초기식에 대해 질문드립니다. [3]
5450예지1/13/202113744Action 델리게이트 사용법 질문있습니다! [2]
5449김성민1/13/202114937Winform UserControl 상속 vs 감싸기? [2]
5448서형주1/13/202114452안녕하세요~~ DataGridView에 데이터를 표시하는 동작방법이 궁금합니다. [2]
5447종범1/11/202115655[WPF/OpenCV] 이미지->영상 저장에 대해서 질문 드립니다!! [5]파일 다운로드1
5446민우1/11/202114057닷넷 런타임을 dll 파일로 포함시킬수 있나요? [2]
5445정도현1/8/202112871directShow RenderFile 관련 재질문드립니다 [5]파일 다운로드1
5444정도현1/8/202113134directShow RenderFile 관련 질문드립니다 [3]
5443윤영호1/7/202113777xml 파일에서 데이터를 가지고 와서 list에 넣는 것을 질문드리고 싶습니다. [1]파일 다운로드1
5442진우1/4/202113167DB연결 객체나 파일 등은 GC 에서 관리해주지 않는 이유가 궁금합니다. [2]
5441한예지 donator1/4/202114291DB 연결 방법 질문 있습니다. [1]
5440한예지 donator1/1/202114457추상클래스로와 new [4]
5439이상호12/31/202018220VC 프로젝트 에서 _main 함수에서 참조되는 확인할 수 없는 외부 기호 [4]파일 다운로드1
... 16  17  18  19  [20]  21  22  23  24  25  26  27  28  29  30  ...