DirectShow DirectShow 의 사용법 DirectShow 필터의 개발 DirectShow 와 COM IUnknown 의 처리 방법   [목차열람] [주소복사] [슬롯비우기]
IUnknown 의 처리 방법
 
Microsoft DirectX 9.0

IUnknown 의 처리 방법

Microsoft DirectShow 는, Component Object Model (COM)에 근거하고 있다. 스스로 필터를 쓰는 경우는, 필터를 COM 개체로서 처리 해야 한다. DirectShow 의 base class는, 이러한 작업을 행하기 위한 프레임워크(framework)를 제공한다. base class를 사용하는 필연성은 없지만, base class를 사용하면 개발 프로세스를 간략화할 수 있다. 여기에서는, COM 개체의 내부적인 동작과 DirectShow base class에서의 COM 개체의 처리에 대해 설명한다.

이 주제는, COM 클라이언트 애플리케이션의 프로그래밍을 이해하고 있다, 즉,IUnknown 의 메서드를 이해하고 있는 사용자를 대상으로 하고 있지만, COM 개체의 개발 경험이 있는 사용자를 전제로 하는 것은 아니다. DirectShow 는, COM 개체의 개발에 관한 대부분을 취급한다. COM 개체의 개발 경험이 있는 사용자는,CUnknown base class를 해설하고 있는 「CUnknown 의 사용 」을 읽는 것.

COM 는 처리은 아니고 사양이다. COM 는, 구성 요소가 따라야 할 규칙을 정의한다. 규칙을 실제로 적용하는 것은 개발자의 역할이다. DirectShow 에서는, 모든 개체는 C++ 의 base class로부터 파생한다. base class 생성자 및 메서드는, 일관한 참조 카운트의 보관 유지등의 COM "정평 처리" 처리의 대부분을 실시한다. 필터를 base class로부터 파생시키는 것에 의해, 그 클래스의 기능을 계승할 수 있다. base class를 효과적으로 사용하기 위해서(때문에)는, COM 사양이 어떻게 클래스에 처리 되고 있는지를 이해할 필요가 있다.

여기에서는 다음의 내용에 대해 설명한다.

↑TOP