PFND3DDDI_SETDISPLAYMODE回呼函式 (d3dumddi.h)

SetDisplayMode 函式會切換至 GDI 桌面不支持的顯示模式或主要複本。

語法

PFND3DDDI_SETDISPLAYMODE Pfnd3dddiSetdisplaymode;

HRESULT Pfnd3dddiSetdisplaymode(
  HANDLE hDevice,
  const D3DDDIARG_SETDISPLAYMODE *unnamedParam2
)
{...}

參數

hDevice

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

unnamedParam2

pData [in]

D3DDDIARG_SETDISPLAYMODE 結構的指標,指定設定顯示模式的參數。

傳回值

如果顯示模式未成功設定,SetDisplayMode 會傳回S_OK或適當的錯誤結果。

備註

Microsoft Direct3D 運行時間會呼叫 SetDisplayMode ,以切換至 GDI 桌面不支持的顯示模式或主要復本。 下列清單描述這類主要項目的範例:

  • 以每個通道 10 位建立的主要專案, (10:10:10:10:2) 顯示和轉譯目標 (格式,例如,D3DFMT_A2R10G10B10)
  • 在掃描時執行多重取樣的主要複本
  • 全螢幕 Microsoft DirectX 9.L 版應用程式所使用的持續性主要複本
Direct3D 執行時間會呼叫使用者模式顯示驅動程式的 CreateResource 函式,以建立要掃描的主要複本。不過,驅動程式應該只在呼叫 其 SetDisplayMode 函式時,才將硬體程式設計為要掃描。 因此,運行時間會將 pData 參數所指向之D3DDDIARG_SETDISPLAYMODE結構的 hResourceSubResourceIndex 成員設定為透過呼叫驅動程式 CreateResource 函式所建立的主要複本。 驅動程式接著應該會將 hResourceSubResourceIndex 所代表的主要復本轉譯為主要配置句柄。 驅動程式進行此轉譯之後,驅動程式應該會在 呼叫 pfnSetDisplayModeCb 函式時傳遞產生的句柄,然後起始對 display miniport 驅動程式 的 DxgkDdiCommitVidPn 函式的呼叫。

使用者模式顯示驅動程式可以在呼叫 pfnSetDisplayModeCb 中設定 D3DDDICB_SETDISPLAYMODE 結構的 hPrimaryAllocation 成員,以掃描任何配置。 不過,配置必須標示為主要 (,也就是說,使用者模式顯示驅動程式必須在呼叫 pfnAllocateCb 函式的 Flags 成員中,設定D3DDDI_ALLOCATIONINFO結構的主要位字段旗標,以建立配置) 。

規格需求

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

另請參閱

D3DDDIARG_SETDISPLAYMODE

D3DDDI_DEVICEFUNCS

pfnSetDisplayModeCb