Metode IDirectXVideoAccelerationService::CreateSurface (dxva2api.h)

Membuat prosesor video DirectX Video Acceleration (DXVA) atau target render decoder DXVA.

Sintaks

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

Parameter

[in] Width

Lebar permukaan, dalam piksel.

[in] Height

Tinggi permukaan, dalam piksel.

[in] BackBuffers

Jumlah buffer belakang. Metode ini membuat BackBuffers + 1 permukaan.

[in] Format

Format piksel, ditentukan sebagai nilai D3DFORMAT atau kode FOURCC. Untuk informasi selengkapnya, lihat dokumentasi Direct3D.

[in] Pool

Kumpulan memori untuk membuat permukaan, ditentukan sebagai nilai D3DPOOL . Untuk informasi selengkapnya, lihat dokumentasi Direct3D. Dekode umumnya harus menggunakan nilai D3DPOOL_DEFAULT.

[in] Usage

Dicadangkan. Atur nilai ini ke nol.

[in] DxvaType

Jenis permukaan yang akan dibuat. Gunakan salah satu nilai berikut.

Nilai Makna
DXVA2_VideoDecoderRenderTarget
Target render dekoder video.
DXVA2_VideoProcessorRenderTarget
Target render prosesor video. Digunakan untuk operasi IDirectXVideoProcessor::VideoProcessBlt .
DXVA2_VideoSoftwareRenderTarget
Target render perangkat lunak. Jenis permukaan ini untuk digunakan dengan perangkat lunak DXVA.

[out] ppSurface

Alamat array pointer IDirect3DSurface9 yang dialokasikan oleh pemanggil. Ukuran array harus 1 + BackBuffers (cukup untuk buffer belakang ditambah satu buffer depan). Metode ini mengisi array dengan pointer IDirect3DSurface9 . Pemanggil harus melepaskan semua penunjuk antarmuka. Selain itu, buffer depan menyimpan jumlah referensi pada setiap buffer belakang. Oleh karena itu, buffer belakang tidak pernah dihapus sampai buffer depan dihapus.

[in, out] pSharedHandle

Penunjuk ke handel yang digunakan untuk berbagi permukaan antara perangkat Direct3D. Atur parameter ini ke NULL.

Menampilkan nilai

Metode mengembalikan HRESULT. Nilai yang mungkin termasuk, tetapi tidak terbatas pada, yang ada dalam tabel berikut.

Menampilkan kode Deskripsi
S_OK
Metode berhasil.
D3DERR_INVALIDCALL
Parameter tidak valid
E_FAIL
Manajer Akselerasi Video DirectX tidak diinisialisasi.
E_POINTER
Argumen penunjuk NULL.

Keterangan

Jika metode mengembalikan E_FAIL, coba panggil IDirect3DDeviceManager9::ResetDevice untuk mengatur ulang DirectX Video Acceleration Manager.

Persyaratan

   
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header dxva2api.h

Lihat juga

Akselerasi Video DirectX 2.0

IDirectXVideoAccelerationService