IDXGIFactory2::CreateSwapChainForHwnd method (dxgi1_2.h)

Membuat rantai pertukaran yang terkait dengan handel HWND ke jendela output untuk rantai pertukaran.

Sintaks

HRESULT CreateSwapChainForHwnd(
  [in]           IUnknown                              *pDevice,
  [in]           HWND                                  hWnd,
  [in]           const DXGI_SWAP_CHAIN_DESC1           *pDesc,
  [in, optional] const DXGI_SWAP_CHAIN_FULLSCREEN_DESC *pFullscreenDesc,
  [in, optional] IDXGIOutput                           *pRestrictToOutput,
  [out]          IDXGISwapChain1                       **ppSwapChain
);

Parameter

[in] pDevice

Untuk Direct3D 11, dan versi Direct3D yang lebih lama, ini adalah penunjuk ke perangkat Direct3D untuk rantai pertukaran. Untuk Direct3D 12 ini adalah penunjuk ke antrean perintah langsung (lihat ID3D12CommandQueue). Parameter ini tidak boleh NULL.

[in] hWnd

Handel HWND yang terkait dengan rantai pertukaran yang dibuat CreateSwapChainForHwnd . Parameter ini tidak boleh NULL.

[in] pDesc

Penunjuk ke struktur DXGI_SWAP_CHAIN_DESC1 untuk deskripsi rantai pertukaran. Parameter ini tidak boleh NULL.

[in, optional] pFullscreenDesc

Penunjuk ke struktur DXGI_SWAP_CHAIN_FULLSCREEN_DESC untuk deskripsi rantai pertukaran layar penuh. Anda dapat secara opsional mengatur parameter ini untuk membuat rantai pertukaran layar penuh. Atur ke NULL untuk membuat rantai pertukaran berjendela.

[in, optional] pRestrictToOutput

Penunjuk ke antarmuka IDXGIOutput untuk output yang membatasi konten. Anda juga harus meneruskan bendera DXGI_PRESENT_RESTRICT_TO_OUTPUT dalam panggilan IDXGISwapChain1::P resent1 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

Pointer ke variabel yang menerima pointer ke antarmuka IDXGISwapChain1 untuk rantai pertukaran yang dibuat CreateSwapChainForHwnd .

Nilai kembali

CreateSwapChainForHwnd 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 atau ppSwapChainadalah NULL, atau anggota data pDesc tidak valid.
  • Mungkin kode kesalahan lain yang dijelaskan dalam topik DXGI_ERROR yang ditentukan oleh jenis perangkat yang Anda berikan ke pDevice.

Pembaruan Platform untuk Windows 7: DXGI_SCALING_NONE tidak didukung pada Windows 7 atau Windows Server 2008 R2 dengan Pembaruan Platform untuk Windows 7 diinstal dan menyebabkan CreateSwapChainForHwnd kembali DXGI_ERROR_INVALID_CALL ketika dipanggil. Untuk informasi selengkapnya tentang Pembaruan Platform untuk Windows 7, lihat Pembaruan Platform untuk Windows 7.

Keterangan

Catatan Jangan gunakan metode ini di aplikasi Bursa Windows. Sebagai gantinya, gunakan IDXGIFactory2::CreateSwapChainForCoreWindow.
 
Jika Anda menentukan lebar, tinggi, atau keduanya (anggota Lebar dan TinggiDXGI_SWAP_CHAIN_DESC1 yang ditunjukkan pDesc ) dari rantai pertukaran sebagai nol, runtime mendapatkan ukuran dari jendela output yang ditentukan parameter hWnd .

Anda selanjutnya dapat memanggil metode IDXGISwapChain1::GetDesc1 untuk mengambil nilai lebar atau tinggi yang ditetapkan.

Karena Anda hanya dapat mengaitkan satu rantai pertukaran model presentasi balik pada satu waktu dengan HWND, kebijakan Microsoft Direct3D 11 untuk menunda penghancuran objek dapat menyebabkan masalah jika Anda mencoba menghancurkan rantai pertukaran model presentasi balik dan menggantinya dengan rantai pertukaran lain. Untuk informasi selengkapnya tentang situasi ini, lihat Masalah Penghancuran yang Ditangguhkan dengan Flip Presentation Swap Chains.

Untuk informasi tentang cara memilih format untuk buffer belakang rantai pertukaran, lihat Mengonversi data untuk ruang warna.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 8 dan Pembaruan Platform untuk Windows 7 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2012 dan Pembaruan Platform untuk Windows Server 2008 R2 [hanya aplikasi desktop]
Target Platform Windows
Header dxgi1_2.h
Pustaka Dxgi.lib

Lihat juga

Untuk performa terbaik, gunakan model flip DXGI

IDXGIFactory2