PFND3DDDI_CREATEQUERY回呼函式 (d3dumddi.h)

CreateQuery 函式會為 Microsoft Direct3D 運行時間後續所發出處理問題的查詢建立驅動程式端資源。

語法

PFND3DDDI_CREATEQUERY Pfnd3dddiCreatequery;

HRESULT Pfnd3dddiCreatequery(
  HANDLE hDevice,
  D3DDDIARG_CREATEQUERY *unnamedParam2
)
{...}

參數

hDevice

顯示裝置的句柄 (圖形內容) 。

unnamedParam2

pData [in, out]

識別查詢 之D3DDDIARG_CREATEQUERY 結構的指標。

傳回值

CreateQuery 會傳回下列其中一個值:

傳回碼 描述
S_OK 已成功建立查詢。
E_OUTOFMEMORY CreateQuery 無法配置所需的記憶體,使其完成。

備註

Direct3D 執行時間會使用查詢類型呼叫使用者模式顯示驅動程式的 CreateQuery 函式,以建立查詢的資源。 使用者模式顯示驅動程式會為查詢類型建立下列資源:

  • 適用於D3DDDIQUERYTYPE_EVENT的BOOL。 在回應事件之前,驅動程式必須確定圖形處理單位 (GPU) 已完成與事件相關的所有作業。 也就是說,驅動程式會在發生問題結束狀態之後回應事件。 驅動程式在回應時,一律必須將事件的 BOOL 值設定為 TRUE
  • 適用於D3DDDIQUERYTYPE_OCCLUSION的 UINT。 驅動程式會將這個 UINT 變數設定為在問題查詢的開頭和結束狀態之間,針對所有基本類型通過 z 測試的像素數。 如果深度緩衝區是多重取樣,驅動程式會從樣本數目決定像素數目。 不過,如果顯示裝置能夠針對每個多重取樣進行 z 測試精確度,則通常應該四捨五入轉換成圖元的數目。 然後,應用程式可以檢查 0 的遮蔽結果,以有效地表示「完全遮蔽」。 將多重取樣數量轉換為像素數量的驅動程序應該偵測轉譯目標多重取樣變更,並繼續適當地計算查詢結果。
  • D3DDDIQUERYTYPE_VCACHE的D3DDDIDEVINFO_VCACHE結構。 驅動程式會在發生問題結束狀態之後回應。
如需問題查詢狀態的詳細資訊,請參閱 D3DDDI_ISSUEQUERYFLAGS

規格需求

需求
最低支援的用戶端 可在 Windows Vista 和更新版本的 Windows 作業系統中使用。
目標平台 桌面
標頭 d3dumddi.h (包含 D3dumddi.h)

另請參閱

D3DDDIARG_CREATEQUERY

D3DDDIDEVINFO_VCACHE

D3DDDI_DEVICEFUNCS

D3DDDI_ISSUEQUERYFLAGS