IDXGIOutputDuplication::AcquireNextFrame method (dxgi1_2.h)
Menunjukkan bahwa aplikasi siap untuk memproses gambar desktop berikutnya.
Sintaks
HRESULT AcquireNextFrame(
[in] UINT TimeoutInMilliseconds,
[out] DXGI_OUTDUPL_FRAME_INFO *pFrameInfo,
[out] IDXGIResource **ppDesktopResource
);
Parameter
[in] TimeoutInMilliseconds
Interval waktu habis, dalam milidetik. Interval ini menentukan jumlah waktu metode ini menunggu bingkai baru sebelum kembali ke pemanggil. Metode ini mengembalikan jika interval berlalu, dan gambar desktop baru tidak tersedia.
Untuk informasi selengkapnya tentang interval waktu habis, lihat Keterangan.
[out] pFrameInfo
Penunjuk ke lokasi memori yang menerima struktur DXGI_OUTDUPL_FRAME_INFO yang menjelaskan waktu dan statistik presentasi untuk bingkai.
[out] ppDesktopResource
Penunjuk ke variabel yang menerima antarmuka IDXGIResource dari permukaan yang berisi bitmap desktop.
Nilai kembali
AcquireNextFrame mengembalikan:
- S_OK jika berhasil menerima gambar desktop berikutnya.
- DXGI_ERROR_ACCESS_LOST jika antarmuka duplikasi desktop tidak valid. Antarmuka duplikasi desktop biasanya menjadi tidak valid ketika jenis gambar yang berbeda ditampilkan di desktop. Contoh situasi ini adalah:
- Sakelar desktop
- Perubahan mode
- Beralih dari DWM aktif, DWM nonaktif, atau aplikasi layar penuh lainnya
- DXGI_ERROR_WAIT_TIMEOUT jika interval waktu habis berlalu sebelum bingkai desktop berikutnya tersedia.
- DXGI_ERROR_INVALID_CALL jika aplikasi bernama AcquireNextFrame tanpa merilis bingkai sebelumnya.
- E_INVALIDARG jika salah satu parameter ke AcquireNextFrame salah; misalnya, jika pFrameInfo adalah NULL.
- Mungkin kode kesalahan lain yang dijelaskan dalam topik DXGI_ERROR .
Keterangan
Ketika AcquireNextFrame berhasil dikembalikan, aplikasi panggilan dapat mengakses gambar desktop yang dikembalikan AcquireNextFrame dalam variabel di ppDesktopResource. Jika pemanggil menentukan interval waktu habis nol dalam parameter TimeoutInMilliseconds , AcquireNextFrame memverifikasi apakah ada gambar desktop baru yang tersedia, segera kembali, dan menunjukkan hasilnya dengan nilai pengembalian. Jika pemanggil menentukan interval batas waktu INFINITE dalam parameter TimeoutInMilliseconds , interval waktu habis tidak pernah berlalu.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 8 [khusus aplikasi desktop] |
Server minimum yang didukung | Windows Server 2012 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | dxgi1_2.h |
Pustaka | Dxgi.lib |