Функция MFCreateDXSurfaceBuffer (mfapi.h)
Создает объект буфера мультимедиа, который управляет поверхностью Direct3D 9.
Синтаксис
HRESULT MFCreateDXSurfaceBuffer(
[in] REFIID riid,
[in] IUnknown *punkSurface,
[in] BOOL fBottomUpWhenLinear,
[out] IMFMediaBuffer **ppBuffer
);
Параметры
[in] riid
Определяет тип поверхности Direct3D 9. В настоящее время это значение должно быть IID_IDirect3DSurface9.
[in] punkSurface
Указатель на интерфейс IUnknown поверхности DirectX.
[in] fBottomUpWhenLinear
Если задано значение TRUE, метод IMF2DBuffer::ContiguousCopyTo буфера копирует буфер в формат снизу вверх. Формат снизу вверх совместим с GDI для несжатых RGB-изображений. Если этот параметр имеет значение FALSE, метод ContiguousCopyTo копирует буфер в формат сверху вниз, совместимый с DirectX.
Дополнительные сведения об изображениях сверху вниз и снизу вверх см. в разделе Image Stride.
[out] ppBuffer
Получает указатель на интерфейс IMFMediaBuffer . Вызывающий объект должен освободить буфер.
Возвращаемое значение
Функция возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
|
Недопустимый аргумент. |
Комментарии
Эта функция создает объект буфера мультимедиа, содержащий указатель на поверхность Direct3D, указанную в punkSurface. Блокировка буфера предоставляет вызывающей объекту доступ к контактной памяти. При уничтожении объекта буфера он освобождает поверхность. Дополнительные сведения о буферах мультимедиа см. в разделе Буферы мультимедиа.
Эта функция не поддерживает поверхности DXGI.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | mfapi.h |
Библиотека | Evr.lib |
DLL | Evr.dll |