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
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 |