Класс CImageAllocator

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]

Иерархия классов cimageallocator

Класс CImageAllocator реализует распределителя, который управляет независимыми от устройства GDI растровыми изображениями (DIB). Этот класс является производным от класса CBaseAllocator . Он создает примеры мультимедиа, реализованные с помощью класса CImageSample .

Распределителя совместно используются двумя подключенными контактами, но он всегда принадлежит одному из фильтров в соединении. Фильтр, который использует CImageAllocator , должен отслеживать, был ли распределител предоставлен сам по себе или другим фильтром. Если распределител был предоставлен сам по себе, фильтр владельцев может полагаться на тот факт, что все образцы мультимедиа из распределителя являются объектами CImageSample . Поэтому он может использовать объект CImageSample для получения сведений о DIB, хранящихся в структуре DIBDATA .

Фильтр владельцев должен вызывать NotifyMediaType при каждом изменении типа носителя.

Защищенные переменные-члены Описание
m_pFilter Указатель на фильтр владельцев.
m_pMediaType Указатель на текущий тип носителя.
Защищенные методы Описание
Alloc Выделяет память для буферов.
CheckSizes Проверяет свойства распределителя по текущему типу носителя.
CreateDIB Создает DIB.
CreateImageSample Создает пример мультимедиа. Виртуальной.
Бесплатный Освобождает всю буферную память.
Открытые методы Описание
CImageAllocator Метод конструктора.
NotifyMediaType Сообщает объекту о текущем типе мультимедиа.
Методы IMemAllocator Описание
SetProperties Указывает количество выделенных буферов и размер каждого буфера.

Требования

Требование Значение
Заголовок
Winutil.h (включая Streams.h)
Библиотека
Strmbase.lib (розничные сборки);
Strmbasd.lib (отладочные сборки)

См. также раздел

Класс CDrawImage