DirectShow DirectShow 레퍼런스 DirectShow base class base class 레퍼런스 CImageAllocator   [목차열람] [주소복사] [슬롯비우기]
CImageAllocator 클래스
 
Microsoft DirectX 9.0

CImageAllocator 클래스

CImageAllocator 클래스의 계층

CImageAllocator 클래스는, GDI DIB (장치에 의존하지 않는 비트 맵)를 관리하는 할당자를 처리 한다. 이 클래스는 CBaseAllocator 클래스로부터 파생한다. CImageSample 클래스를 사용해 처리 되는 미디어 샘플을 생성 한다.

할당자는 접속된 2 개의 핀에 의해 공유되지만, 항상 접속안의 어느쪽이든 1 개의 필터에 의해 소유된다. CImageAllocator 를 사용하는 필터는, 할당자가 그 필터 자신으로 제공한 것인가, 다른 필터로 제공된 것인지를 추적할 필요가 있다. 필터 자신이 할당자를 제공했을 경우는, 오너 필터는, 그 할당자로부터의 모든 미디어 샘플이 CImageSample 개체이라고 상정할 수 있다. 그 때문에,CImageSample 개체를 사용해 DIB 에 관한 정보를 취득할 수 있다. 이 정보는 DIBDATA 구조체에 저장 된다.

오너 필터는, 미디어 타입이 변화할 때마다,NotifyMediaType 를 호출할 필요가 있다.

요건

헤더: Winutil.h 로 선언해, Streams.h 를 인클루드 한다.

라이브러리: Strmbase.lib (리테일 빌드) 또는 Strmbasd.lib (디버그 빌드).

프로텍트 멤버 변수 설명
m_pFilter 오너 필터의 포인터.
m_pMediaType 현재의 미디어 타입의 포인터.
프로텍트 메서드  
Alloc 버퍼에 메모리를 할당한다.
CheckSizes 현재의 미디어 타입에 대해서 할당자 프로퍼티를 체크한다.
CreateDIB DIB 를 생성 한다.
CreateImageSample 미디어 샘플을 생성 한다. 가상.
Free 버퍼 메모리를 릴리즈 한다.
퍼블릭 메서드  
CImageAllocator 생성자 메서드.
NotifyMediaType 현재의 미디어 타입을 개체에 통지한다.
IMemAllocator 메서드  
SetProperties 할당하는 버퍼의 수와 각 버퍼의 사이즈를 지정한다.

참조

↑TOP