ID3D10Buffer::Metode peta (d3d10.h)
Dapatkan penunjuk ke data yang terkandung dalam sumber daya dan tolak akses GPU ke sumber daya.
Sintaks
HRESULT Map(
[in] D3D10_MAP MapType,
[in] UINT MapFlags,
[out] void **ppData
);
Parameter
[in] MapType
Jenis: D3D10_MAP
Bendera yang menentukan izin CPU untuk membaca dan menulis sumber daya. Untuk nilai yang mungkin, lihat D3D10_MAP.
[in] MapFlags
Jenis: UINT
Bendera yang menentukan apa yang harus dilakukan CPU ketika GPU sibuk (lihat D3D10_MAP_FLAG). Bendera ini bersifat opsional.
[out] ppData
Jenis: batal**
Arahkan ke data sumber daya buffer.
Mengembalikan nilai
Jenis: HRESULT
Jika fungsi ini berhasil, fungsi akan mengembalikan S_OK. Daftar berikut ini berisi beberapa alasan peta bisa gagal:
- Jika MapFlags menentukan D3D10_MAP_FLAG_DO_NOT_WAIT dan GPU belum selesai dengan sumber daya, ID3D10Buffer::Map mengembalikan DXGI_ERROR_WAS_STILL_DRAWING.
- ID3D10Buffer::Map mengembalikan DXGI_ERROR_DEVICE_REMOVED jika MapType menyertakan bendera apa pun yang mengizinkan pembacaan dan perangkat keras (yaitu, kartu video) telah dihapus.
Keterangan
Agar CPU menulis konten sumber daya, sumber daya harus dibuat dengan bendera penggunaan dinamis, D3D10_USAGE_DYNAMIC. Untuk membaca dan menulis konten tersebut, sumber daya harus dibuat dengan bendera penggunaan penahapan, D3D10_USAGE_STAGING. (Untuk informasi selengkapnya tentang bendera ini, lihat D3D10_USAGE.) ID3D10Buffer::Map akan mengambil pointer ke data sumber daya. Untuk diskusi tentang cara mengakses sumber daya secara efisien, lihat Menyalin dan Mengakses Data Sumber Daya (Direct3D 10).
Panggil ID3D10Buffer::Unmap untuk menandakan bahwa aplikasi telah selesai mengakses sumber daya.
ID3D10Buffer::Map memiliki beberapa batasan lainnya. Contohnya:
- Buffer yang sama tidak dapat dipetakan beberapa kali; dengan kata lain, jangan panggil ID3D10Buffer::Map pada buffer yang sudah dipetakan.
- Setiap buffer yang terikat ke alur harus tidak dipetakan sebelum operasi penyajian apa pun (yaitu, ID3D10Device::D raw) dapat dijalankan.
Perbedaan antara Direct3D 9 dan Direct3D 10: ID3D10Buffer::Map di Direct3D 10 dianalogikan dengan Kunci sumber daya di Direct3D 9. |
Persyaratan
Target Platform | Windows |
Header | d3d10.h |
Pustaka | D3D10.lib |