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


Метод IMemAllocator::SetProperties (strmif.h)

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

Метод SetProperties задает количество выделенных буферов и размер каждого буфера.

Синтаксис

HRESULT SetProperties(
  ALLOCATOR_PROPERTIES *pRequest,
  ALLOCATOR_PROPERTIES *pActual
);

Параметры

pRequest

Указатель на структуру ALLOCATOR_PROPERTIES , содержащую требования к буферу.

pActual

Указатель на структуру ALLOCATOR_PROPERTIES , которая получает фактические свойства буфера.

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

Возвращает значение HRESULT . Возможные значения включают значения, приведенные в следующей таблице.

Код возврата Описание
S_OK
Успешно.
E_POINTER
Аргумент указателя NULL.
VFW_E_ALREADY_COMMITTED
Не удается изменить выделенную память, пока фильтр активен.
VFW_E_BADALIGN
Указано недопустимое выравнивание.
VFW_E_BUFFERS_OUTSTANDING
Один или несколько буферов по-прежнему активны.

Комментарии

Этот метод задает требования к буферу, но не выделяет буферы. Вызовите метод IMemAllocator::Commit для выделения буферов.

Вызывающий объект выделяет две ALLOCATOR_PROPERTIES структуры. Параметр pRequest содержит требования к буферу вызывающего объекта, включая количество буферов и размер каждого буфера. При возврате метода параметр pActual содержит фактические свойства буфера, заданные распределителем.

При вызове этого метода распределитель не должен быть зафиксирован или иметь незавершенные буферы.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header strmif.h (включая Dshow.h)
Библиотека Strmiids.lib

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

Коды ошибок и успешности

Интерфейс IMemAllocator