[6월 16일 1교시] 자동화(automation) C와 C++은 포인터 및 가상테이블을 통해서 객체에 접근할 수 있지만... 스크립트 언어에서도 객체에 접근할 수 있는 방법을 제공해야 한다. 예 : 스크립트 언어에서 객체 사용법 <object id="CLSID" base="URL"> 자동화 Automation Component : 자동화 서버 Automation Controller : 자동화 클라이언트 Method : operation(기능) P.. 컴퓨터 공부/COM&ActiveX 2009.06.16
[6월 15일 3교시] ATL2 인터페이스는 Interface, Property, Event를 제공할 수 있다. ※ idl->header->cpp 순서대로 구현해야 하며 idl파일이 제일 중요하다. ATL 기초 클래스 CComObjectRootEx<CComObjectThreadModel>클래스 - 쓰레딩 모델이 명시되는 템플릿 클래스 - IUnknown 인터페이스의 내부와 delegate코드 제공. CComCoClass 클래스 - 클래스 팩.. 컴퓨터 공부/COM&ActiveX 2009.06.15
[6월 15일 2교시] ATL 1 ATL(Active Template Library) - C++ template을 사용하여 작성된 클래스 라이브러리. ※ Template은 형틀(뼈대)이라는 뜻이기 때문에 <int>와 같이 type을 지정해 주어야 컴파일하여 instance화 될 수 있다. -> 필요한 부분만 instance화 되기 때문에 가볍다. - IUnknown, IClassFactory 등에 인터페이스에 대한 코드 구현 - 작.. 컴퓨터 공부/COM&ActiveX 2009.06.15
[6월 15일 1교시] tlb를 통한 COM 객체 생성 ※ 새로운 기능이 추가되었다면 dll, tlb를 같이 제공한다. BOOL AFXAPI AfxOleInit( ); 참고주소 : http://msdn.microsoft.com/en-us/library/e91aseaz(VS.71).aspx TLB 파일 사용시 COM 라이브러리를 초기화 하는 함수. (MFC) 응용프로그램에 대해 OLE 지원을 초기화한다. 리턴 : 성공시 TRUE, 실패시 FALSE 이유는 OLE 시스템 DLL의 잘못된 .. 컴퓨터 공부/COM&ActiveX 2009.06.15
[6월 12일 3교시] Visual C++ and COM COM 지원 예약어와 클래스 #import __declspec 확정 속성 : uuid, property __uuidof : 지정한 클래스의 CLSID를 구한다. _com_ptr_t class : 지정한 클래스의 smart pointer클래스를 만든다. _com_error class : COM 개체 사용시 발생하는 에러 처리 _bstr_t class : 비베 문자열 타입 _variant_t class : 모든 타입이 UNION, 하나의 타입을 선택하.. 컴퓨터 공부/COM&ActiveX 2009.06.12
[6월 11일 3교시] Containment & Aggregation ※ Client는 Outer의 인터페이스만 볼 수 있다. 하지만 Client는 Inner의 인터페이스를 사용하고 싶을 때 Containment와 Aggregation 기법을 사용할 수 있다. COM 개체가 Aggregation을 지원하지 않는 경우에는 Containment를 사용할 수 밖에 없다. Containment Outer가 Inner인터페이스 기능을 밖으로 열어놓고 Inner의 인터페이스에.. 컴퓨터 공부/COM&ActiveX 2009.06.11
[6월 11일 2교시] Out-Of-Process Server에서 Marshalling 코드 생성 Marshalling하는 코드를 추가 ① midl컴파일러로 만들어진 Addback_i.cpp(interface 관련), Addback_p(proxy 관련), dlldata.cpp 파일을 marshalling dll 프로젝트에 복사 ② 속성 페이지의 전처리기에서 REGISTER_PROXY_DLL를 추가한다. 컴퓨터 공부/COM&ActiveX 2009.06.11
[6월 11일 1교시] Out-Of-Process Server에서 COM object instance생성 2 ※ ROT 테이블 정보 참고주소 http://msdn.microsoft.com/en-us/library/ms695276(VS.85).aspx http://mc4s.tomeii.com/tt/21 로컬서버 종료 조건 : COM 개체 카운터가 0, LockServer(FALSE)에 대한 로그 카운터가 0일때. 특정 종료조건 만족 시 능동적으로 프로세스 종료. (COM 객체 카운터와 lock 카운터가 전역변수로 유지되므로 가능) 레.. 컴퓨터 공부/COM&ActiveX 2009.06.11
[스크랩] 부록 A.인터페이스 용어 인터페이스 용어 표준 인터페이스 이 용어는 마이클소프트가 개발하고 전개한 모든 인터페이스를 의미한다.이들은 산업표준으로 상호호환성을 위해 구현되고 사용된다. 예를들어, 표준 인터페이스를 지원하는 객체를 개발한 경우에 표준 인터페이스가 문서화되어 있어서 다른 사람 또한 객체를 사.. 컴퓨터 공부/COM&ActiveX 2009.06.10
[6월 10일 3교시] Out-Of-Process Server에서 COM object instance생성 서버와 클라이언트의 프로세스 영역이 다름. 클라이언트는 서버의 위치와 무관하게 서비스 받을 수 있어야 한다. 로컬서버 치명적인 오류로부터 클라이언트를 보호 marshalling architecture LPC, RPC를 사용하여 프로세스 간 통신(IPC)구현 데이터 송수신 문제를 해결 ※ marshalling DLL이 필요하다. Proxy 클라이언.. 컴퓨터 공부/COM&ActiveX 2009.06.10