PFND3DDDI_SETPRIORITYCB fungsi panggilan balik (d3dumddi.h)
Fungsi pfnSetPriorityCb menetapkan tingkat prioritas sumber daya atau daftar alokasi.
Sintaks
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.
Nilai kembali
pfnSetPriorityCb mengembalikan salah satu nilai berikut:
Menampilkan kode | Deskripsi |
---|---|
S_OK | Tingkat prioritas berhasil diatur. |
E_INVALIDARG | Parameter divalidasi dan ditentukan salah. |
Fungsi ini mungkin juga mengembalikan nilai HRESULT lainnya.
Keterangan
Driver tampilan mode pengguna dapat memanggil fungsi pfnSetPriorityCb untuk mengatur prioritas sumber daya atau daftar alokasi yang mendasar. Jika tingkat prioritas sumber daya ditetapkan, 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 atau SetResourcePriorityDXGI driver tampilan pengguna 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
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia di Windows Vista dan versi yang lebih baru dari sistem operasi Windows. |
Target Platform | Desktop |
Header | d3dumddi.h (termasuk D3dumddi.h) |