Метод IVMRSurfaceAllocator::P repareSurface (strmif.h)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]
Метод PrepareSurface
подготавливает поверхность DirectDraw к декодированию следующего видеокадра.
Синтаксис
HRESULT PrepareSurface(
[in] DWORD_PTR dwUserID,
[in] LPDIRECTDRAWSURFACE7 lpSurface,
[in] DWORD dwSurfaceFlags
);
Параметры
[in] dwUserID
Определенный приложением DWORD_PTR файл cookie, который однозначно идентифицирует этот экземпляр VMR для использования в сценариях, когда один экземпляр allocator-presenter используется с несколькими экземплярами VMR.
[in] lpSurface
Задает поверхность DirectDraw.
[in] dwSurfaceFlags
Двойное слово, содержащее флаги поверхности. См. заметки.
Возвращаемое значение
Если метод завершается успешно, возвращает значение S_OK. В противном случае функция возвращает код ошибки.
Комментарии
Единственным флагом, который в настоящее время проверяет vmr, является AM_GBF_NOTASYNCPOINT (0x00000002), который указывает, что вы не собираетесь заполнять этот буфер точкой синхронизации (ключевым кадром).
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP с пакетом обновления 1 (SP1) [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | strmif.h (включая Dshow.h) |
Библиотека | Strmiids.lib |