IDXGIOutputDuplication::GetFrameMoveRects method (dxgi1_2.h)
Mendapatkan informasi tentang persegi panjang yang dipindahkan untuk bingkai desktop saat ini.
Sintaks
HRESULT GetFrameMoveRects(
[in] UINT MoveRectsBufferSize,
[out] DXGI_OUTDUPL_MOVE_RECT *pMoveRectBuffer,
[out] UINT *pMoveRectsBufferSizeRequired
);
Parameter
[in] MoveRectsBufferSize
Ukuran dalam byte buffer yang diteruskan pemanggil ke parameter pMoveRectBuffer .
[out] pMoveRectBuffer
Penunjuk ke array struktur DXGI_OUTDUPL_MOVE_RECT yang mengidentifikasi wilayah persegi panjang yang dipindahkan untuk bingkai desktop.
[out] pMoveRectsBufferSizeRequired
Penunjuk ke variabel yang menerima jumlah byte yang dibutuhkan GetFrameMoveRects untuk menyimpan informasi tentang wilayah yang dipindahkan di buffer di pMoveRectBuffer.
Untuk informasi selengkapnya tentang mengembalikan ukuran buffer yang diperlukan, lihat Keterangan.
Menampilkan nilai
GetFrameMoveRects mengembalikan:
- S_OK jika berhasil mengambil informasi tentang persegi panjang yang dipindahkan.
- 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_MORE_DATA jika buffer yang disediakan aplikasi panggilan tidak cukup besar.
- DXGI_ERROR_INVALID_CALL jika aplikasi bernama GetFrameMoveRects tanpa memiliki gambar desktop.
- E_INVALIDARG jika salah satu parameter untuk GetFrameMoveRects salah; misalnya, jika pMoveRectBuffer adalah NULL.
- Mungkin kode kesalahan lain yang dijelaskan dalam topik DXGI_ERROR .
Keterangan
GetFrameMoveRects menyimpan nilai ukuran dalam variabel di pMoveRectsBufferSizeRequired. Nilai ini menentukan jumlah byte yang dibutuhkan GetFrameMoveRects untuk menyimpan informasi tentang wilayah yang dipindahkan. Anda dapat menggunakan nilai ini dalam situasi berikut untuk menentukan jumlah memori yang akan dialokasikan untuk buffer mendatang yang Anda berikan ke pMoveRectBuffer:
- GetFrameMoveRects gagal dengan DXGI_ERROR_MORE_DATA karena buffer tidak cukup besar.
- GetFrameMoveRects memasok buffer yang lebih besar dari yang diperlukan. Nilai ukuran yang dikembalikan di pMoveRectsBufferSizeRequired memberi tahu pemanggil berapa banyak ruang buffer yang benar-benar digunakan dibandingkan dengan berapa banyak ruang buffer yang dialokasikan pemanggil dan ditentukan dalam parameter MoveRectsBufferSize .
Buffer berisi daftar pemindahan RECT untuk bingkai saat ini.
Persyaratan
Klien minimum yang didukung | Windows 8 [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2012 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | dxgi1_2.h |
Pustaka | Dxgi.lib |