[클라이언트]
- CoCreatInstance(): 함수 호출하여 COM객체 생성을 시도한다.
- 함수 내부에서는 CoGetClassObject()라는 COM 라이브러리 함수를 호출한다
[COM라이브러리]
- CoGetClassObject(): 레지스트리 검색.
- 첫 번째 매개변수를 통해 DLL의 레지스트리 등록 여부를 확인.
- DllGetClassObject 함수 호출.
[DLL서버]
- EXPORT 함수 호출.
- 클래스 FACTORY 객체를 생성.
- 이 객체에 연결되어 있는 IclassFactory 인터페이스의 주소를 반환.
- 반환된 주소는 CoGetClassObject() 함수를 거쳐 CoCreateInstance() 함수로
다시 반환
[클라이언트]
- IclassFactory를 사용하여 CLASS FACTORY의 CreateInstance() 함수 호출.
[Class Factory]
- CreateInstance()
- 자신이 관리하고 있는 COM클래스로부터 COM 객체를 생성!
- 인터페이스 주소를 반환.
[클라이언트]
- return된 인터페이스로 컴포넌트 접근가능
'programming > COM(Component Object Model)' 카테고리의 다른 글
INTERFACE (0) | 2010.03.13 |
---|