PFND3DDDI_CHECKDIRECTFLIPSUPPORT回呼函式 (d3dumddi.h)

由桌面視窗管理員呼叫 (DWM) ,以確認使用者模式驅動程式支援直接翻轉作業,其中視訊記憶體會在應用程式的受管理主要配置和 DWM 的 Managed 主要配置之間順暢翻轉。

語法

PFND3DDDI_CHECKDIRECTFLIPSUPPORT Pfnd3dddiCheckdirectflipsupport;

HRESULT Pfnd3dddiCheckdirectflipsupport(
  HANDLE hDevice,
  D3DDDIARG_CHECKDIRECTFLIPSUPPORT *unnamedParam2
)
{...}

參數

hDevice

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

unnamedParam2

pData [in, out]

定義作業參數 之D3DDDIARG_CHECKDIRECTFLIPSUPPORT 結構的指標。

傳回值

如果作業未成功執行,則傳回S_OK或適當的錯誤結果。

備註

在 DWM 嘗試呈現直接翻轉交換鏈之前,至少會呼叫此函式一次。 在每次模式變更發生之後,或 DWM 基於任何原因重新建立自己的交換鏈之後,也會呼叫它。

使用者模式驅動程式應該確保應用程式與 DWM 的受控主要配置具有下列相容資源:

  • 立體聲資源。
  • MSAA) 格式的多個範例反鋸齒 (。
  • Swizzle 格式。 如果 swizzle 只能在每個 VSync 間隔變更,請確定D3DDDI_CHECK_DIRECT_FLIP_FLAGS結構的 CheckDirectFlipFlags 成員沒有值D3D11_1DDI_CHECK_DIRECT_FLIP_IMMEDIATE
  • 這兩個 Managed 主要配置都應該使用D3DDDI_ALLOCATIONINFO結構中的相同 VidPnSourceId 值來建立。
  • 顯示配接器設定已連結。
使用者模式驅動程式可能需要呼叫內核模式驅動程式來執行這些驗證。 若要這樣做,請呼叫 pfnEscapeCb 回呼函式,然後呼叫 DxgkCbGetHandleData 函式來存取內核模式驅動程式的資源配置數據。

由於 DWM 通常會使用可能最高的 Microsoft Direct3D 功能層級來建立自己的裝置,因此如果硬體支援 Direct3D 設備驅動器介面,則 DWM 不會呼叫此函式, (大於 9.3 版的 DDI) 。 不過,任何 Microsoft Direct3D 9 驅動程式都應該實作此函式,以啟用直接翻轉用戶體驗。

規格需求

需求
最低支援的用戶端 Windows 8
最低支援的伺服器 Windows Server 2012
目標平台 桌面
標頭 d3dumddi.h (包含 D3dumddi.h)

另請參閱

D3DDDI_CHECK_DIRECT_FLIP_FLAGS

D3DDDI_DEVICEFUNCS