COM - 기본( 등록, 사용 )

from Study/COM 2007/12/04 21:33 view 23628
1) 만들어 놓은 클래스 라이브러리를 멤버변수로 선언하여 사용하게 되면 강한 결합을 하게 된다.
2) 그래서, 인터페이스를 사용하여 약한 결합을 만드는데 이게 바로 COM이 하는 역할이다.
3) 3개의 함수는 QueryInterface, AddRef, Release 를 반드시 구현해 줘야 한다.
4) 컴포넌트가 객체생성을 책임져야 하므로 반드시 IUnknown 를 최상위 부모로 하여 상속되어야 한다.
5) CreateInstance, DllGetClassObject 를 사용하여 객체를 생성해줘야 한다.
6) 이모든 과정을 단순화 한 것이 ATL, COM+ 이다...그래도 어렵다..ㅜ_ㅜ..

- regsvr32 DLL명
- Com.dll 을 레지스트리(HKEY_CLASSES_ROOT\CLSID) 에 등록해준다.

1. IFace.h ( 인터페이스ID, 클래스ID 를 등록한다 )

more..


 2. AnyCall.h ( 인터페이스를 제공한다. )

more..


3. AnyCall.cpp ( IUnknown 의 3개의 가상함수를 구현하고 기능을 구현해준다. )

more..


4. Registry.h( 레지스트리 함수를 제공한다. )

more..


5. Registry.cpp( 레지스트리 함수를 제공한다. )

more..


6. Anycall.def ( dllexport 역할을 해준다. )

more..


1. UseCom ( Com 을 사용하는 방법 - dll로드가 아닌 레지스트리에 등록된 COM을 사용한다. )

more..


Trackback Address :: 이 글에는 트랙백을 보낼 수 없습니다