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


Интерфейс IVMRSurfaceAllocatorNotify (strmif.h)

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

Интерфейс IVMRSurfaceAllocatorNotify реализуется фильтром отрисовщика 7 (VMR-7). Приложения используют этот интерфейс для настройки пользовательского докладчика-распределителя, а allocator-presenter использует этот интерфейс для информирования VMR-7 об изменениях в системной среде, влияющих на поверхности DirectDraw.

Чтобы приложение получите этот интерфейс, виртуальная машина должна находиться в режиме без отрисовки.

Для VMR-9 используйте интерфейс IVMRSurfaceAllocatorNotify9 .

Наследование

Интерфейс IVMRSurfaceAllocatorNotify наследуется от интерфейса IUnknown . IVMRSurfaceAllocatorNotify также имеет следующие типы элементов:

Методы

Интерфейс IVMRSurfaceAllocatorNotify имеет следующие методы.

 
IVMRSurfaceAllocatorNotify::AdviseSurfaceAllocator

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

Метод ChangeDDrawDevice уведомляет VMR об изменении устройства воспроизведения DirectDraw. Например, в системе с несколькими мониторами пользователь переместил прямоугольник видео с одного монитора на другой.
IVMRSurfaceAllocatorNotify::NotifyEvent

Метод NotifyEvent вызывается распределителем-выступающим, чтобы информировать VMR о любых важных событиях DirectShow во время процессов выделения или презентации.
IVMRSurfaceAllocatorNotify::RestoreDDrawSurfaces

Метод RestoreDDrawSurfaces уведомляет VMR о том, что обнаружена потеря поверхности DirectDraw.
IVMRSurfaceAllocatorNotify::SetBorderColor

Метод SetBorderColor указывает vmR, какой цвет следует использовать в областях прямоугольника дисплея, которые не используются для видео, например, когда видео задается в почтовый ящик.
IVMRSurfaceAllocatorNotify::SetDDrawDevice

Метод SetDDrawDevice задает начальное устройство и монитор DirectDraw, которые будут использоваться для воспроизведения видео.

Требования

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

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

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