컴퓨터 공부/COM&ActiveX

[6월 19일 2교시] Component Categories, Moniker

려리군 2009. 6. 19. 10:26

Category

CATID : category ID를 공유하는 COM 클래스와 관련된 논리 그룹

※ COM을 분류하거나 계층구조를 나누고 싶을 때 만든다.

Implemented Categories

예시)

HKCR\CLSID\{CLSID_Chimp}\Implemented Categories\{CATID_Mammals}

침팬지는 포유류에 속한다.


Required Categories

해당하는 Category가 먼저 만들어 놓고 해당되는 카테고리를 사용한다.

클라이언트가 required category를 만들어야 함. (필요한 경우)


Category 매니저 컴포넌트

CLSID_StdComponentCategoryMsg : 객체 아이디

ICatRegister : 카테고리 정보를 레지스크리에 등록

ICatInformation : 카테고리 정보를 질의하는데 사용


TreatAs

{CLS_A}\TreatAs\{CLS_B}

A와 B를 동일하게 취급.


Moniker

표준 인터페이스 이상으로 바인드 알고리즘을 캡슐화하는 locator 객체를 사용한다.

파일 Moniker, URL Moniker

IMoniker

※ ActiveX에 많이 사용한다. ActiveX에서 기본적으로 제공한다.

예시 : <object CLSID = __________ obj-base = ________ version = ___></object>

CLSID의 string값을 판단하는 역할을 한다.

obj-base에는 cabinet파일이나 ocx파일을 이용.


IMoniker::BindToObject


CoGetObject() 

MkParseDisplayName을 호출하여 문자열을 번역하여 IMoniker::BindToObject를 호출.


'컴퓨터 공부 > COM&ActiveX' 카테고리의 다른 글

[6월 19일 1교시] DCOM  (0) 2009.06.19
[6월 18일 3교시] Tear-off Interface  (0) 2009.06.18
[6월 18일 2교시] Apartment 2  (0) 2009.06.18
[6월 18일 1교시] Apartment  (0) 2009.06.18
[6월 17일 3교시] 이벤트 3  (0) 2009.06.17