Поделиться через


Метод CImageAllocator.Alloc

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

Метод Alloc выделяет память для буферов. Этот метод переопределяет метод CBaseAllocator::Alloc .

Синтаксис

HRESULT Alloc();

Параметры

Этот метод не имеет параметров.

Возвращаемое значение

Возвращает значение HRESULT . Ниже приведены возможные значения.

Код возврата Описание
S_OK
Успешное завершение
E_OUTOFMEMORY
Недостаточно памяти

Комментарии

Этот метод вызывается методом CBaseAllocator::Commit , когда фильтр фиксирует распределителя.

Этот метод создает список примеров мультимедиа, которые реализуются как объекты CImageSample . Каждый пример содержит аппаратно-независимый растровый рисунок GDI, использующий функцию GDI CreateDIBSection .

Внутренний метод вызывает CImageAllocator::CreateDIB для создания каждого dib, а CImageAllocator::CreateImageSample — для создания каждого примера.

Требования

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

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

Класс CImageAllocator