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


Метод IMemInputPin::GetAllocator (strmif.h)

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

Метод GetAllocator извлекает распределитель памяти, предложенный этим закреплением. После выбора распределителя этот метод возвращает указатель на выбранный распределитель.

Синтаксис

HRESULT GetAllocator(
  [out] IMemAllocator **ppAllocator
);

Параметры

[out] ppAllocator

Получает указатель на интерфейс IMemAllocator распределителя. Вызывающий объект должен освободить интерфейс .

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

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

Код возврата Описание
S_OK
Успешно.
VFW_E_NO_ALLOCATOR
Распределителя нет.

Комментарии

Когда выходной контакт подключается к входному контакту, он согласовывается с контактом ввода, чтобы решить вопрос о выделении памяти. Выходной контакт вызывает этот метод для получения предлагаемого распределителя входного контакта. Он вызывает метод IMemInputPin::NotifyAllocator для указания выбранного распределителя.

Если этот метод будет выполнен успешно, интерфейс IMemAllocator имеет неоплаченное число ссылок. Обязательно отпустите его, когда закончите.

Требования

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

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

Коды ошибок и успешного выполнения

Интерфейс IMemInputPin