IDXGIFactoryMedia::CreateDecodeSwapChainForCompositionSurfaceHandle method (dxgi1_3.h)

Membuat rantai pertukaran YUV untuk handel permukaan DirectComposition yang ada. Rantai pertukaran dibuat dengan buffer yang sudah ada sebelumnya dan sangat sedikit elemen deskriptif yang diperlukan. Sebagai gantinya, metode ini memerlukan handel permukaan DirectComposition dan buffer IDXGIResource untuk menyimpan data bingkai yang didekode. Format rantai pertukaran ditentukan oleh format sub-sumber daya IDXGIResource.

Sintaks

HRESULT CreateDecodeSwapChainForCompositionSurfaceHandle(
  [in]           IUnknown                    *pDevice,
  [in, optional] HANDLE                      hSurface,
  [in]           DXGI_DECODE_SWAP_CHAIN_DESC *pDesc,
  [in]           IDXGIResource               *pYuvDecodeBuffers,
  [in, optional] IDXGIOutput                 *pRestrictToOutput,
  [out]          IDXGIDecodeSwapChain        **ppSwapChain
);

Parameter

[in] pDevice

Penunjuk ke perangkat Direct3D untuk rantai pertukaran. Parameter ini tidak boleh NULL. Driver perangkat lunak, seperti D3D_DRIVER_TYPE_REFERENCE, tidak didukung untuk rantai pertukaran komposisi.

[in, optional] hSurface

Handel ke permukaan DirectComposition yang ada. Parameter ini tidak boleh NULL.

[in] pDesc

Penunjuk ke struktur DXGI_DECODE_SWAP_CHAIN_DESC untuk deskripsi rantai swap. Parameter ini tidak boleh NULL.

[in] pYuvDecodeBuffers

Penunjuk ke antarmuka IDXGIResource yang mewakili sumber daya yang berisi info yang didekodekan CreateDecodeSwapChainForCompositionSurfaceHandle .

[in, optional] pRestrictToOutput

Penunjuk ke antarmuka IDXGIOutput untuk rantai pertukaran untuk membatasi konten. Jika rantai pertukaran dipindahkan ke output yang berbeda, kontennya berwarna hitam. Anda dapat secara opsional mengatur parameter ini ke target output yang menggunakan DXGI_PRESENT_RESTRICT_TO_OUTPUT untuk membatasi konten pada output ini. Jika rantai pertukaran dipindahkan ke output yang berbeda, kontennya berwarna hitam.

Anda juga harus meneruskan bendera DXGI_PRESENT_RESTRICT_TO_OUTPUT dalam panggilan saat ini untuk memaksa konten tampak pingsan pada output lain. Jika Anda ingin membatasi konten ke output yang berbeda, Anda harus membuat rantai pertukaran baru. Namun, Anda dapat membatasi konten secara kondisional berdasarkan bendera DXGI_PRESENT_RESTRICT_TO_OUTPUT .

Atur parameter ini ke NULL jika Anda tidak ingin membatasi konten ke target output.

[out] ppSwapChain

Penunjuk ke variabel yang menerima penunjuk ke antarmuka IDXGIDecodeSwapChain untuk rantai pertukaran yang dibuat metode ini.

Menampilkan nilai

CreateDecodeSwapChainForCompositionSurfaceHandle mengembalikan:

  • S_OK jika berhasil membuat rantai pertukaran.
  • E_OUTOFMEMORY jika memori tidak tersedia untuk menyelesaikan operasi.
  • DXGI_ERROR_INVALID_CALL jika aplikasi panggilan menyediakan data yang tidak valid, misalnya, jika pDesc, pYuvDecodeBuffers, atau ppSwapChain adalah NULL.
  • Mungkin kode kesalahan lain yang dijelaskan dalam topik DXGI_ERROR yang ditentukan oleh jenis perangkat yang Anda berikan ke pDevice.

Keterangan

IDXGIResource yang disediakan melalui parameter pYuvDecodeBuffers harus menunjuk ke setidaknya satu subsumber daya, dan semua subsumber daya harus dibuat dengan bendera D3D11_BIND_DECODER.

Persyaratan

   
Klien minimum yang didukung Windows 8.1 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2012 R2 [hanya aplikasi desktop]
Target Platform Windows
Header dxgi1_3.h
Pustaka Dxgi.lib

Lihat juga

IDXGIFactoryMedia