共用方式為


PFND3DDDI_CHECKDIRECTFLIPSUPPORT回呼函式 (d3dumddi.h)

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

語法

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 間隔變更,請確定 CheckDirectFlipFlagsD3DDDI_CHECK_DIRECT_FLIP_FLAGS 結構的成員沒有 D3D11_1DDI_CHECK_DIRECT_FLIP_IMMEDIATE的值。
  • 這兩個 Managed 主要配置都應該使用 D3DDDI_ALLOCATIONINFO 結構中的相同 VidPnSourceId 值來建立。
  • 顯示配接器組態已連結。
使用者模式驅動程式可能需要呼叫內核模式驅動程式來執行這些驗證。 若要這樣做,請呼叫 pfnEscapeCb 回呼函式,然後呼叫 DxgkCbGetHandleData 函式,以存取內核模式驅動程式的資源配置數據。

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

要求

要求 價值
最低支援的用戶端 Windows 8
支援的最低伺服器 Windows Server 2012
目標平臺 桌面
標頭 d3dumddi.h (包括 D3dumddi.h)

另請參閱

D3DDDI_CHECK_DIRECT_FLIP_FLAGS

D3DDDI_DEVICEFUNCS