Metode IDirect3DSurface9::LockRect (d3d9helper.h)
Mengunci persegi panjang di permukaan.
Sintaks
HRESULT LockRect(
[out] D3DLOCKED_RECT *pLockedRect,
[in] const RECT *pRect,
[in] DWORD Flags
);
Parameter
[out] pLockedRect
Jenis: D3DLOCKED_RECT*
Penunjuk ke struktur D3DLOCKED_RECT yang menjelaskan wilayah terkunci.
[in] pRect
Jenis: const RECT*
Penunjuk ke persegi panjang untuk dikunci. Ditentukan oleh penunjuk ke struktur RECT . Menentukan NULL untuk parameter ini memperluas wilayah kotor untuk menutupi seluruh permukaan.
[in] Flags
Jenis: DWORD
Kombinasi bendera penguncian nol atau lebih yang menjelaskan jenis kunci yang akan dilakukan. Untuk metode ini, bendera yang valid adalah:
- D3DLOCK_DISCARD
- D3DLOCK_DONOTWAIT
- D3DLOCK_NO_DIRTY_UPDATE
- D3DLOCK_NOSYSLOCK
- D3DLOCK_READONLY
Mengembalikan nilai
Jenis: HRESULT
Jika metode berhasil, nilai yang dikembalikan adalah D3D_OK.
Jika metode gagal, nilai yang dikembalikan dapat D3DERR_INVALIDCALL atau D3DERR_WASSTILLDRAWING.
Keterangan
Jika bendera D3DLOCK_DONOTWAIT ditentukan dan driver tidak dapat segera mengunci permukaan, IDirect3DSurface9::LockRect akan mengembalikan D3DERR_WASSTILLDRAWING sehingga aplikasi dapat menggunakan siklus CPU sambil menunggu driver mengunci permukaan.
Satu-satunya format yang dapat dikunci untuk permukaan stensil kedalaman adalah D3DFMT_D16_LOCKABLE. Lihat D3DFORMAT.
Untuk alasan performa, wilayah kotor dicatat hanya untuk tingkat nol tekstur. Wilayah kotor secara otomatis direkam ketika IDirect3DSurface9::LockRect dipanggil tanpa D3DLOCK_NO_DIRTY_UPDATE atau D3DLOCK_READONLY. Lihat IDirect3DDevice9::UpdateTexture untuk informasi selengkapnya.
Buffer belakang multisample tidak dapat dikunci.
Metode ini tidak dapat mengambil data dari permukaan yang dimuat oleh sumber daya tekstur yang dibuat dengan D3DUSAGE_RENDERTARGET karena tekstur seperti itu harus ditetapkan ke memori D3DPOOL_DEFAULT dan karenanya tidak dapat dikunci. Dalam hal ini, gunakan sebagai gantinya IDirect3DDevice9::GetRenderTargetData untuk menyalin data tekstur dari memori perangkat ke memori sistem.
Persyaratan
Target Platform | Windows |
Header | d3d9helper.h (termasuk D3D9.h) |
Pustaka | D3D9.lib |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk