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


Метод IVMRSurfaceAllocatorNotify::AdviseSurfaceAllocator (strmif.h)

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

Метод AdviseSurfaceAllocator вызывается приложением, чтобы указать VMR использовать пользовательский распределитель-выступающий.

Синтаксис

HRESULT AdviseSurfaceAllocator(
  [in] DWORD_PTR            dwUserID,
  [in] IVMRSurfaceAllocator *lpIVRMSurfaceAllocator
);

Параметры

[in] dwUserID

Определяемая приложением DWORD_PTR, которая однозначно идентифицирует этот экземпляр VMR в сценариях, когда несколько экземпляров VMR используются с одним экземпляром allocator-presenter.

[in] lpIVRMSurfaceAllocator

Указывает интерфейс IVMRSurfaceAllocator в новом allocator-presenter. Если это значение равно NULL, vmR отпустит клиент allocator-presenter и восстановит его по умолчанию allocator-presenter.

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

Если метод завершается успешно, возвращает значение S_OK. В противном случае функция возвращает код ошибки.

Комментарии

Метод приведет к удалению и уничтожению allocator-presenter по умолчанию и замене указанным новым компонентом. Новый компонент также должен поддерживать интерфейс IVMRImagePresenter .

Этот метод можно вызвать только один раз в течение времени существования VMR. VMR продолжает использовать allocator-presenter, пока vmr не будет удалена. Когда vmr окончательно освобождается, он освобождает счетчик ссылок на пользовательский объект allocator-presenter, что позволяет освободить этот объект.

Требования

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

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

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

Интерфейс IVMRSurfaceAllocatorNotify

Использование отрисовщика для смешанного видео