共用方式為


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 函式時,驅動程式才應該將硬體程式設計為掃描。 因此,運行時間會將 hResourceSubResourceIndexD3DDDIARG_SETDISPLAYMODE 結構的成員設定為透過呼叫驅動程式 CreateResource 函式所建立的主要 pData 參數。 然後,驅動程式應該會將 hResource 所代表的主要驅動程式,並將 SubResourceIndex 轉譯為主要配置句柄。 驅動程式進行此轉譯之後,驅動程式應該會在呼叫 pfnSetDisplayModeCb 函式時傳遞產生的句柄,然後起始對顯示迷你埠驅動程式 DxgkDdiCommitVidPn 函式的呼叫。

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

要求

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

另請參閱

D3DDDIARG_SETDISPLAYMODE

D3DDDI_DEVICEFUNCS

pfnSetDisplayModeCb