PFND3D10DDI_SETPREDICATION fungsi panggilan balik (d3d10umddi.h)

Fungsi SetPredication menentukan apakah perintah rendering dan manipulasi sumber daya yang mengikuti benar-benar dilakukan.

Sintaks

PFND3D10DDI_SETPREDICATION Pfnd3d10ddiSetpredication;

void Pfnd3d10ddiSetpredication(
  D3D10DDI_HDEVICE unnamedParam1,
  D3D10DDI_HQUERY unnamedParam2,
  BOOL unnamedParam3
)
{...}

Parameter

unnamedParam1

hDevice [in]

Handel ke perangkat tampilan (konteks grafis).

unnamedParam2

hQuery [in]

Handel ke objek kueri untuk diatur sebagai predikat. Mengatur hQuery ke NULL menunjukkan "tanpa predikasi". Jika hQuery diatur ke NULL, driver mengabaikan nilai dalam parameter PredicateValue ; namun, driver harus menyimpan nilai predikat untuk permintaan berikutnya untuk nilai tersebut.

unnamedParam3

PredicateValue [in]

Nilai Boolean untuk dibandingkan dengan data kueri. Jika data kueri sama dengan nilai predikat, perintah rendering dan manipulasi sumber daya berikut tidak dilakukan.

Menampilkan nilai

Tidak ada

Keterangan

Driver dapat menggunakan fungsi panggilan balik pfnSetErrorCb untuk mengatur kode kesalahan.

Beberapa predikat hanyalah petunjuk; oleh karena itu, mereka mungkin tidak benar-benar mencegah operasi dilakukan. Runtime Microsoft Direct3D terutama memanggil SetPredication untuk memungkinkan aplikasi mengeluarkan perintah grafis tanpa mengambil hit performa berputar dan menunggu panggilan ke fungsi QueryGetData untuk kembali. Oleh karena itu, predikasi dapat terjadi meskipun QueryGetData mengembalikan S_FALSE. Dengan kata lain, aplikasi juga dapat menggunakan predikasi sebagai fallback jika QueryGetData mungkin mengembalikan S_FALSE. Jika QueryGetData mengembalikan S_OK, aplikasi dapat melewati panggilan perintah grafis secara manual dengan logika aplikasinya sendiri.

Driver tidak boleh mengalami kesalahan, kecuali untuk D3DDDIERR_DEVICEREMOVED. Oleh karena itu, jika driver melewati kesalahan apa pun, kecuali untuk D3DDDIERR_DEVICEREMOVED, dalam panggilan ke fungsi pfnSetErrorCb , runtime Direct3D akan menentukan bahwa kesalahan sangat penting. Bahkan jika perangkat dihapus, driver tidak diperlukan untuk mengembalikan D3DDDIERR_DEVICEREMOVED; namun, jika penghapusan perangkat mengganggu pengoperasian SetPredication (yang biasanya tidak boleh terjadi), driver dapat kembali D3DDDIERR_DEVICEREMOVED.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia di Windows Vista dan versi yang lebih baru dari sistem operasi Windows.
Target Platform Desktop
Header d3d10umddi.h (termasuk D3d10umddi.h)

Lihat juga

D3D10DDI_DEVICEFUNCS

pfnSetErrorCb