모듈 2. Windows-Based 프로그램에서 COM 사용
이 시리즈의 모듈 1 창을 만들고 WM_PAINT 및 WM_CLOSE같은 창 메시지에 응답하는 방법을 보여 줬습니다. 모듈 2에는 COM(구성 요소 개체 모델)이 도입되었습니다.
COM은 재사용 가능한 소프트웨어 구성 요소를 만들기 위한 사양입니다. 최신 Windows 기반 프로그램에서 사용할 많은 기능은 다음과 같이 COM을 사용합니다.
- 그래픽(Direct2D)
- 텍스트(DirectWrite)
- Windows 셸
- 리본 컨트롤
- UI 애니메이션
(이 목록의 일부 기술은 COM의 하위 집합을 사용하므로 "순수" COM이 아닙니다.)
COM은 배우기 어렵다는 평판을 가지고 있습니다. 그리고 COM을 지원하기 위해 새 소프트웨어 모듈을 작성하는 것은 까다로울 수 있습니다. 그러나 프로그램이 COM의 소비자 경우 COM이 예상보다 이해하기 쉬울 수 있습니다.
이 모듈에서는 프로그램에서 COM 기반 API를 호출하는 방법을 보여 줍니다. 또한 COM 디자인의 몇 가지 추론에 대해서도 설명합니다. COM이 디자인된 이유를 이해하면 COM을 보다 효과적으로 프로그래밍할 수 있습니다. 모듈의 두 번째 부분에서는 COM에 권장되는 몇 가지 프로그래밍 방법을 설명합니다.
COM은 OLE(개체 연결 및 포함) 2.0을 지원하기 위해 1993년에 도입되었습니다. 사람들은 때때로 COM과 OLE가 똑같다고 생각합니다. 이는 COM을 배우기 어렵다는 인식의 또 다른 이유일 수 있습니다. OLE 2.0은 COM을 기반으로 하지만 COM을 이해하려면 OLE를 알 필요가 없습니다.
COM은 언어 표준이 아닌 이진 표준: 애플리케이션과 소프트웨어 구성 요소 간의 이진 인터페이스를 정의합니다. COM은 이진 표준으로 언어 중립적이지만 특정 C++ 구문에 자연스럽게 매핑됩니다. 이 모듈은 COM의 세 가지 주요 목표에 중점을 둡다.
- 해당 인터페이스에서 개체의 구현을 분리합니다.
- 개체의 수명 관리
- 런타임에 개체의 기능을 검색합니다.
이 섹션에서는
- COM 인터페이스란?
- COM 라이브러리 초기화
- COM의 오류 코드
- COM에서 개체 만들기
- 예: 열린 대화 상자
- 객체의 수명 관리
- 개체에 인터페이스를 요청하기
- COM 메모리 할당
- COM 코딩 사례
- 오류 처리 in COM
관련 항목
-
C++ Windows용 프로그램 학습