Share via


CImageAllocator 클래스

[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드가 DirectShow 대신 Media Foundation에서 MediaPlayer, IMFMediaEngine오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

cimageallocator 클래스 계층 구조

클래스는 CImageAllocator GDI 디바이스 독립적 비트맵(DIB)을 관리하는 할당자를 구현합니다. 이 클래스는 CBaseAllocator 클래스에서 파생됩니다. CImageSample 클래스를 사용하여 구현되는 미디어 샘플을 만듭니다.

할당자는 연결된 두 핀에서 공유되지만 항상 연결의 필터 중 하나가 소유합니다. 를 사용하는 CImageAllocator 필터는 할당자가 자체 또는 다른 필터에서 제공되었는지 여부를 추적해야 합니다. 할당자가 자체에서 제공된 경우 소유 필터는 할당자의 모든 미디어 샘플이 CImageSample 개체라는 사실에 의존할 수 있습니다. 따라서 CImageSample 개체를 사용하여 DIBDATA 구조에 저장된 DIB에 대한 정보를 가져올 수 있습니다.

소유 필터는 미디어 유형이 변경되면 NotifyMediaType 을 호출해야 합니다.

보호된 멤버 변수 Description
m_pFilter 소유 필터에 대한 포인터입니다.
m_pMediaType 현재 미디어 형식에 대한 포인터입니다.
Protected 메서드 Description
Alloc 버퍼에 대한 메모리를 할당합니다.
CheckSizes 현재 미디어 형식에 대해 할당자 속성을 확인합니다.
CreateDIB DIB를 만듭니다.
CreateImageSample 미디어 샘플을 만듭니다. 가상.
무료 모든 버퍼 메모리를 해제합니다.
Public 메서드 Description
CImageAllocator 생성자 메서드입니다.
NotifyMediaType 개체에 현재 미디어 형식을 알릴 수 있습니다.
IMemAllocator 메서드 Description
SetProperties 할당할 버퍼 수와 각 버퍼의 크기를 지정합니다.

요구 사항

요구 사항
헤더
Winutil.h(Streams.h 포함)
라이브러리
Strmbase.lib(소매 빌드);
Strmbasd.lib(디버그 빌드)

추가 정보

CDrawImage 클래스