Metode IDXGIOutput1::D uplicateOutput (dxgi1_2.h)
Membuat antarmuka duplikasi desktop dari antarmuka IDXGIOutput1 yang mewakili output adaptor.
Sintaks
HRESULT DuplicateOutput(
[in] IUnknown *pDevice,
[out] IDXGIOutputDuplication **ppOutputDuplication
);
Parameter
[in] pDevice
Penunjuk ke antarmuka perangkat Direct3D yang dapat Anda gunakan untuk memproses gambar desktop. Perangkat ini harus dibuat dari adaptor tempat output tersambung.
[out] ppOutputDuplication
Pointer ke variabel yang menerima antarmuka IDXGIOutputDuplication baru.
Nilai kembali
DuplikatOutput mengembalikan:
- S_OK jika DuplicateOutput berhasil membuat antarmuka duplikasi desktop.
- E_INVALIDARG karena salah satu alasan berikut:
- Perangkat yang ditentukan (pDevice) tidak valid, tidak dibuat pada adaptor yang benar, atau tidak dibuat dari IDXGIFactory1 (atau versi yang lebih baru dari antarmuka pabrik DXGI yang mewarisi dari IDXGIFactory1).
- Aplikasi panggilan sudah menduplikasi output desktop ini.
- E_ACCESSDENIED jika aplikasi tidak memiliki hak akses ke gambar desktop saat ini. Misalnya, hanya aplikasi yang berjalan di LOCAL_SYSTEM yang dapat mengakses desktop aman.
- DXGI_ERROR_UNSUPPORTED jika antarmuka IDXGIOutputDuplication yang dibuat tidak mendukung mode atau skenario desktop saat ini. Misalnya, mode desktop 8bpp dan non-DWM tidak didukung. Jika DuplicateOutput gagal dengan DXGI_ERROR_UNSUPPORTED, aplikasi dapat menunggu pemberitahuan sistem switch desktop dan perubahan mode lalu memanggil DuplicateOutput lagi setelah pemberitahuan tersebut terjadi. Untuk informasi selengkapnya, lihat EVENT_SYSTEM_DESKTOPSWITCH dan pemberitahuan perubahan mode (WM_DISPLAYCHANGE).
- DXGI_ERROR_NOT_CURRENTLY_AVAILABLE jika DXGI mencapai batas jumlah maksimum aplikasi duplikasi bersamaan (default empat). Oleh karena itu, aplikasi panggilan tidak dapat membuat antarmuka duplikasi desktop apa pun sampai aplikasi lain ditutup.
- DXGI_ERROR_SESSION_DISCONNECTED jika DuplicateOutput gagal karena sesi saat ini terputus.
- Kode kesalahan lainnya dijelaskan dalam topik DXGI_ERROR .
Pembaruan Platform untuk Windows 7: Pada Windows 7 atau Windows Server 2008 R2 dengan Pembaruan Platform untuk Windows 7 diinstal, DuplicateOutput gagal dengan E_NOTIMPL. Untuk informasi selengkapnya tentang Pembaruan Platform untuk Windows 7, lihat Pembaruan Platform untuk Windows 7.
Keterangan
Jika aplikasi ingin menduplikasi seluruh desktop, aplikasi harus membuat antarmuka duplikasi desktop pada setiap output aktif di desktop. Antarmuka ini tidak menyediakan cara eksplisit untuk menyinkronkan waktu setiap gambar output. Sebagai gantinya, aplikasi harus menggunakan stempel waktu setiap output, lalu menentukan cara menggabungkan gambar.
Agar DuplikatOutput berhasil, Anda harus membuat pDevice dari IDXGIFactory1 atau versi yang lebih baru dari antarmuka pabrik DXGI yang mewarisi dari IDXGIFactory1.
Jika mode saat ini adalah mode stereo, antarmuka duplikasi desktop menyediakan gambar untuk gambar stereo kiri saja.
Secara default, hanya empat proses yang dapat menggunakan antarmuka IDXGIOutputDuplication secara bersamaan dalam satu sesi. Proses hanya dapat memiliki satu antarmuka duplikasi desktop pada satu output desktop; namun, proses tersebut dapat memiliki antarmuka duplikasi desktop untuk setiap output yang merupakan bagian dari desktop.
Untuk peningkatan performa, pertimbangkan untuk menggunakan DuplicateOutput1.
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 |