IDirectDraw7::EvaluateMode 方法 (ddraw.h)
在呼叫 IDirectDraw7::StartModeTest 之後使用,以通過或失敗測試呈現的每個模式,並逐步執行模式,直到測試完成為止。
語法
HRESULT EvaluateMode(
[in] DWORD unnamedParam1,
[out] DWORD *unnamedParam2
);
參數
[in] unnamedParam1
下列其中一個旗標,指出正在測試之模式的狀態:
DDEM_MODEPASSED
已通過正在測試的模式。
DDEM_MODEFAILED
正在測試的模式失敗。
[out] unnamedParam2
變數的指標,會接收值,表示目前模式之前所保留的秒數會自動失敗,除非明確傳遞或失敗。
傳回值
如果方法成功,傳回值會DD_OK。
如果失敗或完成時,方法可以傳回下列其中一個錯誤值:
- DDERR_TESTFINISHED
- DDERR_NEWMODE
- DDERR_INVALIDOBJECT
- DDERR_INVALIDPARAMS
- DDERR_NOTFOUND
備註
您可以使用 EvaluateMode 搭配 IDirectDraw7::StartModeTest 方法來判斷 EDID 監視器和顯示器配接器組合可支援每個螢幕解析度的最大重新整理速率。
具體而言,呼叫 IDirectDraw7::StartModeTest 會指示 DirectDraw 建立一組可測試的解析度,並根據集合中的第一個解析度顯示模式。 對 EvaluateMode 的後續呼叫可用來通過或失敗每個模式,並將測試前進到下一個顯示模式。 方法會逐步執行可測試的解析度,從指定解析度支援的最高重新整理率開始。 在給定解析度的重新整理速率通過之後,會略過該解析度的較低重新整理率測試。
起始測試時,或每當模式通過或失敗時,DirectDraw 就會開始 15 秒逾時。 應用程式可以使用 dwFlags 引數值為 0 的 EvaluateMode 呼叫 EvaluateMode ,以監視剩餘的時間,而不需要傳遞或失敗目前的模式。 請注意,DirectDraw 只會變更模式,或在呼叫 EvaluateMode 時終止測試。 不過,如果應用程式在逾時期間過後呼叫 EvaluateMode ,則不論傳遞至 dwFlags 參數的值為何,目前模式都會失敗。
需求
目標平台 | Windows |
標頭 | ddraw.h |
程式庫 | Ddraw.lib |
Dll | Ddraw.dll |