Интерфейс 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) |