2014년 10월 29일 수요일

COM(ATL) DLL 만들기

COM을 이용하는 DLL을 만들려고 보니, 대충은 알고 있었는데 만들려니까 귀찮았다. 왜냐하면 Interface부터 시스템에 등록하는 함수까지 다 만들어야 할 상황이 되어버렸기 때문이다.



원래 COM책을 봤을 때는 그렇게 나와있었지만 COM책이 나온지 10년이 넘어가는 마당에 지금도 그렇게 하고 있을 것 같지는 않았기에 찾아보니, 역시 Visual Studio가 자동화하여 프로젝트를 생성해주고 있었다.



방법은

http://blog.naver.com/PostView.nhn?blogId=p9741181&logNo=80097617860

여기서 찾았다. 블로그가 없어질지 몰라(복사 금지가 걸려있어서..)PDF로 저장하였다.

인쇄.pdf

근데 dll만들고 나서 다른 프로젝트에서 사용할 때 어떻게 해야하는지 궁금했다. 위 블로그 맨 아래에 나와있긴 한데, tlb 파일 링크는 싫고 헤더파일링크로 하고 싶은데 어떤 헤더파일인지 몰랐는데...



빌드하면 자동으로 c파일과 h파일이 생성된다(프로젝트 처음 만들었을 때는 빈 파일이지만, 빌드하면 내용이 채워짐). 외부에서 사용할 COM Interface를 정의하면 이 c파일과 헤더파일에 CLSID와 IID가 생성되어 들어간다. 이 파일들을 넣어주면 될 것 같다. 맞는지 잘 모르겠음;;

댓글 없음: