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 を呼び出すことで、現在のモードを渡したり失敗したりすることなく、残りの時間を監視できます。 DirectDraw は 、EvaluateMode が呼び出されたときにモードのみを変更するか、テストを終了することに注意してください。 ただし、タイムアウト期間が経過した後にアプリケーションが EvaluateMode を呼び出すと、 dwFlags パラメーターに渡された値に関係なく、現在のモードは失敗します。
要件
対象プラットフォーム | Windows |
ヘッダー | ddraw.h |
Library | Ddraw.lib |
[DLL] | Ddraw.dll |