Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Fungsi pfnSetPriorityCb menetapkan tingkat prioritas sumber daya atau daftar alokasi.
Sintaksis
PFND3DDDI_SETPRIORITYCB Pfnd3dddiSetprioritycb;
HRESULT Pfnd3dddiSetprioritycb(
HANDLE hDevice,
D3DDDICB_SETPRIORITY *unnamedParam2
)
{...}
Parameter
hDevice
Handel ke perangkat tampilan (konteks grafis).
unnamedParam2
pData [in]
Penunjuk ke struktur D3DDDICB_SETPRIORITY yang menjelaskan tingkat prioritas untuk mengatur sumber daya atau daftar alokasi.
Mengembalikan nilai
pfnSetPriorityCb mengembalikan salah satu nilai berikut:
Mengembalikan kode | Deskripsi |
---|---|
S_OK | Tingkat prioritas berhasil diatur. |
E_INVALIDARG | Parameter divalidasi dan ditentukan salah. |
Fungsi ini mungkin juga mengembalikan nilai HRESULT lainnya.
Komentar
Driver tampilan mode pengguna dapat memanggil fungsi pfnSetPriorityCb untuk mengatur prioritas sumber daya atau daftar alokasi yang mendasar. Jika tingkat prioritas sumber daya diatur, semua alokasi yang termasuk dalam sumber daya diatur ke tingkat prioritas yang ditentukan. Biasanya, driver tampilan mode pengguna menetapkan prioritas sumber daya atau daftar alokasi setelah runtime Microsoft Direct3D memanggil fungsi SetPriority driver tampilan mode pengguna atau SetResourcePriorityDXGI untuk mengatur prioritas pengeluaran dari memori untuk sumber daya. Namun, driver tampilan mode pengguna dapat mengatur prioritas alokasi kapan saja.
Setelah aplikasi meminta untuk mengatur tingkat prioritas permukaan, driver tampilan mode pengguna harus mengatur sumber daya atau daftar alokasi yang sesuai ke tingkat prioritas yang ditentukan oleh aplikasi.
Driver dapat menggunakan tingkat prioritas selain nilai yang ditentukan sebelumnya jika sesuai. Misalnya, menandai alokasi dengan tingkat prioritas 0x78000001 menunjukkan bahwa alokasi sedikit di atas normal.
Contoh
Contoh kode berikut menunjukkan cara mengatur tingkat prioritas.
HRESULT CD3DContext::SetPriority(CONST D3DDDIARG_SETPRIORITY* pSetPriority) {
DWORD dwSurfaceHandle = (DWORD)(DWORD_PTR)pSetPriority->hResource;
CResource &res = m_RTbl[dwSurfaceHandle];
D3DDDICB_SETPRIORITY setPri;
UINT priority;
priority = pSetPriority->Priority;
memset(&setPri, 0, sizeof(setPri));
setPri.hResource = res.m_hResRuntime;
setPri.pPriorities = &priority;
return (m_d3dCallbacks.pfnSetPriorityCb(m_hD3D, &setPri));
}
Persyaratan
Syarat | Nilai |
---|---|
klien minimum yang didukung | Tersedia di Windows Vista dan versi sistem operasi Windows yang lebih baru. |
Platform Target | Desktop |
Header | d3dumddi.h (termasuk D3dumddi.h) |