PFND3D10DDI_QUERYGETDATA fungsi panggilan balik (d3d10umddi.h)

Fungsi QueryGetData melakukan polling untuk status operasi kueri.

Sintaks

PFND3D10DDI_QUERYGETDATA Pfnd3d10ddiQuerygetdata;

void Pfnd3d10ddiQuerygetdata(
  D3D10DDI_HDEVICE unnamedParam1,
  D3D10DDI_HQUERY unnamedParam2,
  VOID *unnamedParam3,
  UINT DataSize,
  UINT unnamedParam5
)
{...}

Parameter

unnamedParam1

hDevice [in]: Handel ke perangkat tampilan (konteks grafis).

unnamedParam2

hQuery [in]: Handel ke objek kueri untuk polling.

unnamedParam3

pData [out]: Penunjuk ke wilayah memori yang menerima data dari operasi kueri. Driver tampilan mode pengguna dapat mengatur pData ke NULL dan mengatur parameter DataSize ke nol. Jika pData NULL, QueryGetData dapat menunjukkan status operasi kueri (misalnya, apakah operasi kueri selesai).

DataSize

[out] Ukuran, dalam byte, dari data kueri yang dituju oleh parameter pData . Driver tampilan mode pengguna dapat mengatur DataSize ke nol dan mengatur pData ke NULL. Jika DataSize nol, QueryGetData dapat menunjukkan status operasi kueri (misalnya, melalui kode pengembalian).

unnamedParam5

Bendera [in]: bendera D3D10_DDI_GET_DATA_FLAG.

Menampilkan nilai

Tidak ada

Keterangan

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

Setelah runtime Microsoft Direct3D memanggil fungsi QueryEnd driver tampilan mode pengguna untuk mentransisikan operasi kueri ke status "dikeluarkan", runtime dapat memanggil QueryGetData untuk menentukan apakah operasi kueri masih dalam status "dikeluarkan" (DXGI_DDI_ERR_WASSTILLDRAWING) atau telah beralih ke status "sinyal" (S_OK). Jika operasi kueri berada dalam status "disinyalir", QueryGetData dapat mengembalikan data kueri dalam parameter pData ; jika tidak, pData tidak berubah. Driver dapat memanggil pfnSetErrorCb untuk menunjukkan status operasi kueri.

Runtime tidak dapat memanggil QueryGetData dengan predikat yang dibuat dengan D3D10_QUERY_MISCFLAG_PREDICATEHINT melalui panggilan ke fungsi SetPredication .

Jika operasi kueri menangani pekerjaan yang masih berada di buffer perintah parsial, secara default, driver harus mengakhiri dan mengirimkan buffer perintah parsial. Namun, driver tidak boleh mengakhiri dan mengirimkan buffer jika runtime menentukan bendera D3D10_DDI_GET_DATA_DO_NOT_FLUSH dalam parameter Bendera . Jika runtime melewati bendera D3D10_DDI_GET_DATA_DO_NOT_FLUSH dalam parameter Bendera dan jika operasi kueri menangani pekerjaan yang masih berada di buffer perintah parsial, driver dapat memanggil pfnSetErrorCb untuk mengatur hanya kode kesalahan DXGI_DDI_ERR_WASSTILLDRAWING.

Saat runtime memanggil QueryGetData untuk memeriksa penyelesaian kueri, driver dapat meneruskan DXGI_DDI_ERR_WASSTILLDRAWING dalam panggilan ke pfnSetErrorCb untuk menunjukkan bahwa kueri belum selesai. Driver juga dapat meneruskan D3DDDIERR_DEVICEREMOVED dalam panggilan ke pfnSetErrorCb. Runtime Direct3D akan menentukan bahwa kesalahan lain sangat penting.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista
Target Platform Desktop
Header d3d10umddi.h (termasuk D3d10umddi.h)

Lihat juga

CheckCounter

D3D10DDI_DEVICEFUNCS

QueryEnd

SetPredication

pfnSetErrorCb