인터페이스 이론
전체 시스템에 영향을 주지 않고 바뀔 수 있다.
다형성 : 두 컴포넌트가 같은 인터페이스를 지원한다면 클라이언트는 똑같은 코드를 사용할 수 있다.
※ interface는 new할 수 없다.
※ 클라이언트가 함수를 사용하기 위해서는 가상함수 테이블 포인터를 통해서 함수를 사용한다.
Inprocess server : dll, ocx, 주소 공간이 같다.
Local server : 다른 프로세스에서 돌아간다. (proxy/stub구조를 사용)
Remote server : 네트워크 상 다른 컴퓨터에서 돌아간다.
Inprocess server
- 클라이언트와 서버가 동일한 프로세스와 주소 공간에 존재.
- dll안에 컴포넌트 수는 제한이 없다.
out-of process server
local server : 클라이언트와 서버와 다른 프로세스와 주소 공간에 존재하는 구조
marshalling : proxy와 stub의 주소공간을 mapping해 주는 과정. (파라미터 전달시 변환이 필요하다.)
proxy : 서버의 대리인(surrogate)
remote server
- 다른 컴퓨터에 위치한 서버
- dll, exe로 구성.
레지스트리
모든 COM 오브젝트의 클라이언트는 서버와 연결하기 위해 레지스트리에 등록되어야 한다.
regsvr32 "COM Object경로"
※ 경로를 바꾸면 다시 등록해 주어야 한다.
regsvr32 /u : 해제한다.
실행파일 : 제작자가 등록과 해제 과정을 만들어 주어야 한다.
옵션 : /register, /unregister
'컴퓨터 공부 > COM&ActiveX' 카테고리의 다른 글
[6월 9일 3교시] COM 서버 제작 (0) | 2009.06.09 |
---|---|
[6월 9일 2교시] COM 클라이언트 제작 (0) | 2009.06.09 |
[6월 9일 1교시] IUnknown Interface(141쪽 그림 추가) (0) | 2009.06.09 |
[6월 8일 3교시] COM Component (함수설명) (0) | 2009.06.08 |
[6월 8일 1교시] 소개 (0) | 2009.06.08 |