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


Метод CBaseAllocator.Commit

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

Метод Commit выделяет память для буферов. Этот метод реализует метод IMemAllocator::Commit .

Синтаксис

HRESULT Commit();

Параметры

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

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

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

Код возврата Описание
S_OK
Успешно.
VFW_E_SIZENOTSET
Требования к буферу не указаны.

Комментарии

Перед вызовом этого метода вызовите метод CBaseAllocator::SetProperties , чтобы указать требования к буферу.

Этот метод вызывает виртуальный метод CBaseAllocator::Alloc для выделения памяти для буферов. Производные классы могут переопределять Alloc. Если операция списания находится в состоянии ожидания, она отменяется.

Этот метод необходимо вызвать перед вызовом метода CBaseAllocator::GetBuffer .

Требования

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

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

Класс CBaseAllocator