PFND3DDDI_QUERYRESOURCERESIDENCY fungsi panggilan balik (d3dumddi.h)

Fungsi QueryResourceResidency menentukan residensi daftar sumber daya yang diberikan.

Sintaks

PFND3DDDI_QUERYRESOURCERESIDENCY Pfnd3dddiQueryresourceresidency;

HRESULT Pfnd3dddiQueryresourceresidency(
  HANDLE hDevice,
  const D3DDDIARG_QUERYRESOURCERESIDENCY *unnamedParam2
)
{...}

Parameter

hDevice

Handel ke perangkat tampilan (konteks grafis).

unnamedParam2

pData [in]

Penunjuk ke struktur D3DDDIARG_QUERYRESOURCERESIDENCY yang menjelaskan daftar sumber daya tempat residensi diverifikasi.

Menampilkan nilai

QueryResourceResidency mengembalikan salah satu nilai berikut:

Menampilkan kode Deskripsi
S_OK Semua sumber daya berada dalam memori yang dapat diakses GPU.
S_RESIDENT_IN_SHARED_MEMORY Tidak ada alokasi yang terdiri dari sumber daya yang ada di disk. Namun, setidaknya satu alokasi tidak berada dalam memori yang dapat diakses GPU.
S_NOT_RESIDENT Setidaknya satu alokasi yang terdiri dari sumber daya ada di disk.
E_INVALIDARG Parameter divalidasi dan ditentukan salah.
E_OUTOFMEMORY QueryResourceResidency tidak dapat mengalokasikan memori yang diperlukan untuk menyelesaikannya.

Keterangan

Runtime Microsoft Direct3D memanggil fungsi QueryResourceResidency driver tampilan mode pengguna untuk aplikasi guna menentukan apakah sistem operasi akan menimbulkan stall yang signifikan pada waktu gambar jika sistem harus membuat sumber daya dapat diakses GPU. Informasi yang dikembalikan dari QueryResourceResidency adalah perkiraan residensi sumber daya karena sumber daya mungkin diturunkan sebelum aplikasi menggunakan sumber daya.

Fungsi QueryResourceResidency driver tampilan mode pengguna harus melakukan panggilan ke fungsi pfnQueryResidencyCb . Fungsi pfnQueryResidencyCb mengembalikan status residensi sumber daya dalam elemen array yang ditentukan oleh anggota pResidencyStatus dari struktur D3DDDICB_QUERYRESIDENCY . Jika pfnQueryResidencyCb mengembalikan D3DDDI_RESIDENCYSTATUS_NOTRESIDENT untuk kueri apa pun, QueryResourceResidency harus mengembalikan S_NOT_RESIDENT. Jika pfnQueryResidencyCb mengembalikan D3DDDI_RESIDENCYSTATUS_RESIDENTINSHAREDMEMORY untuk kueri apa pun dan tidak mengembalikan D3DDDI_RESIDENCYSTATUS_NOTRESIDENT untuk kueri apa pun, QueryResourceResidency harus mengembalikan S_RESIDENT_IN_SHARED_MEMORY. QueryResourceResidency harus mengembalikan S_OK hanya jika semua panggilan ke pfnQueryResidencyCb untuk semua kueri mengembalikan D3DDDI_RESIDENCYSTATUS_RESIDENTINGPUMEMORY.

Untuk setiap sumber daya yang dikueri runtime melalui panggilan ke QueryResourceResidency, driver tampilan mode pengguna harus menentukan alokasi mana yang termasuk dalam sumber daya untuk dikueri melalui panggilan ke pfnQueryResidencyCb. Untuk sumber daya yang memiliki satu alokasi, penentuannya sederhana --driver akan meminta alokasi tersebut. Namun, jika sumber daya memiliki beberapa alokasi, penentuannya lebih sulit. Driver harus menentukan alokasi mana yang kemungkinan akan digunakan aplikasi untuk penyajian, dan driver hanya harus meminta alokasi tersebut. Misalnya, jika sumber daya memiliki alokasi yang digunakan untuk penyajian dan alokasi awal yang menangani operasi penguncian, driver harus meminta hanya untuk residensi alokasi pertama, karena aplikasi kemungkinan besar tidak akan menggunakan alokasi kedua untuk penyajian.

Catatan Karena runtime tidak mendukung kueri residensi sumber daya memori sistem, runtime akan selalu gagal permintaan dari aplikasi untuk status residensi sumber daya memori sistem dan tidak akan pernah memanggil fungsi QueryResourceResidency driver tampilan mode pengguna untuk sumber daya memori sistem ini.
 

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)

Lihat juga

D3DDDIARG_QUERYRESOURCERESIDENCY

D3DDDICB_QUERYRESIDENCY

D3DDDI_DEVICEFUNCS

pfnQueryResidencyCb