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


Метод IDirect3DVideoDevice9::CreateSurface

Создает сжатую поверхность для декодирования DirectX Video Acceleration (DXVA).

Чтобы получить требования поверхности, вызовите IDirect3DVideoDevice9::GetDXVACompressedBufferInfo и проверьте возвращенные структуры DXVACompBufferInfo .

Синтаксис

HRESULT CreateSurface(
   UINT              Width,
   UINT              Height,
   UINT              BackBuffers,
   D3DFORMAT         Format,
   D3DPOOL           Pool,
   DWORD             Usage,
   IDirect3DSurface9 **ppSurface,
   HANDLE            *pSharedHandle
);

Параметры

Width

Ширина поверхности в пикселях. Задайте для этого параметра значение DXVACompBufferInfo.WidthToCreate.

Height

Высота поверхности в пикселях. Задайте для этого параметра значение DXVACompBufferInfo.HeightToCreate.

BackBuffers

Количество задних буферов. Этот параметр может быть равен нулю.

Формат

Формат пикселей, указанный в качестве значения D3DFORMAT . Задайте для этого параметра значение DXVACompBufferInfo.Format.

Пул.

Пул памяти, в котором создается поверхность, указанная в качестве значения D3DPOOL . Задайте для этого параметра значение DXVACompBufferInfo.Pool.

Использование

Побитовое ИЛИ одной или нескольких констант D3DUSAGE . Задайте для этого параметра значение DXVACompBufferInfo.Usage.

ppSurface

Получает указатель на интерфейс IDirect3DSurface9 . Вызывающий объект должен освободить интерфейс .

pSharedHandle

Зарезервировано. Задайте значение NULL.

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

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

Требования

Требование Значение
Минимальная версия клиента
Windows Vista [только классические приложения]
Минимальная версия сервера
Windows Server 2008 [только классические приложения]
Заголовок
Dxva.h

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

IDirect3DVideoDevice9