안녕하세요.
우선 답변에 감사드립니다. 아래 게시글 관련하여 추가 질문이 있습니다.
일단 제작중인 ActiveX 모듈이 작동되는 구조가
ActiveX -(LoadLibrary)-> wrapper.dll -(LoadLibrary)-> real_converter.dll
위와 같은 방식이구요.
여기서 real_converter.dll 은 jpg 포맷의 이미지를 다른 이미지 포맷으로 변환하는 역할을 합니다.
그리고 현재 이 wrapper.dll 과 real_converter.dll 의 소스는 확인할 수 없는 상황입니다.
문제는, 일단 ActiveX 대신 일반 테스트 콘솔 프로그램을 작성해서 wrapper.dll 을 로드하는 경우에는 파일 생성이 성공적으로 이루어지지만
ActiveX 상에서는 파일 생성에 실패합니다. dll 을 로드해서 변환 함수 호출하는 쪽의 구현은 서로 동일하구요.
(WinXP 환경이고, 확인해 봤지만 쓰기 권한 문제는 아닌 것 같습니다)
여기저기 검색해보다가 API Monitor (
http://www.apimonitor.com/ ) 라는 소프트웨어를 이용해서 win32 api 호출을 확인해 봤더니
테스트 콘솔에서는 CreateFile() 및 WriteFile() 이 성공적으로 호출이 되지만
ActiveX 상에서는 CreateFileMapping() 이 대신 몇 차례 호출이 되고서는 파일 생성에 실패하는 것을 확인했습니다.
과연 어떤 이유에서 두 경우에 동작 차이가 생기는 것인지 궁금합니다.
[추가]
* CreateFileMapping() 은 activex 테스트 컨테이너에서 발생한 것 같습니다.
* GetLastInfo() 값은 2 로 출력됩니다.
[최초 등록일: ]
[최종 수정일: 10/21/2009]