본문 바로가기

programming/COM(Component Object Model)

컴포넌트 생성 및 접근 (전체 흐름도)



[클라이언트]
   - 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