次の方法で共有


IDirectDraw7::StartModeTest メソッド (ddraw.h)

現在のディスプレイ アダプターとモニターの組み合わせの更新レート情報を使用してシステム レジストリを更新するテストを開始します。 通常、このメソッドの呼び出しの後に IDirectDraw7::EvaluateMode を呼び出して、テストで表示されるモードに合格または失敗します。

構文

HRESULT StartModeTest(
  [in] LPSIZE unnamedParam1,
  [in] DWORD  unnamedParam2,
  [in] DWORD  unnamedParam3
);

パラメーター

[in] unnamedParam1

画面解像度の観点から、テストする必要があるモードを記述する SIZE 要素の配列。

[in] unnamedParam2

lpModesToTest パラメーターが指定する配列内の要素の数。

[in] unnamedParam3

テストを開始するためのオプションを指定するフラグ。 現在有効なフラグ値はDDSMT_ISTESTREQUIREDのみです。 このフラグを指定すると、 StartModeTest はテストを開始しませんが、 代わりに lpModesToTest パラメーターと dwNumEntries パラメーターが識別する解像度をテストすることが可能か必要かを示す値を返します。

戻り値

メソッドが成功した場合、戻り値はDD_OK。

失敗した場合、メソッドは次のいずれかのエラー値を返すことができます。

  • DDERR_CURRENTLYNOTAVAIL
  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS
  • DDERR_NOEXCLUSIVEMODE
  • DDERR_NOTFOUND
  • DDERR_TESTFINISHED
メソッドが DDSMT_ISTESTREQUIRED フラグを使用して呼び出されると、次のいずれかの値を返すことができます。
  • DDERR_NEWMODE
  • DDERR_NODRIVERSUPPORT
  • DDERR_NOMONITORINFORMATION
  • DDERR_TESTFINISHED

注釈

StartModeTest メソッドを IDirectDraw7::EvaluateMode メソッドと共に使用して、EDID モニターとディスプレイ アダプターの組み合わせが各画面解像度でサポートできる最大リフレッシュ レートを決定できます。 テストの結果はシステム レジストリに格納され、そのメソッドが DDEDM_REFRESHRATES フラグを設定して呼び出されたときの IDirectDraw7::EnumDisplayModes の操作に影響します。

具体的には、 StartModeTest を呼び出すと、DirectDraw に対して、一連のテスト可能な解像度を確立し、セット内の最初の解像度に基づいてモードを表示します。 IDirectDraw7::EvaluateMode の後続の呼び出しを使用して、各モードに合格または失敗し、テストを次の表示モードに進めることができます。

StartModeTest は 、EDID データを含むモニターでのみ成功します。 モニターが EDID に準拠していない場合、 StartModeTest はモードをテストせずにDDERR_TESTFINISHEDを返します。 EDID テーブルに 60 Hz より大きい値が含まれていない場合、モードはテストされません。 100 Hz を超える更新レートは、EDID テーブルに 85 Hz より大きい値が含まれている場合にのみテストされます。

引数リスト (NULL、0、0) を指定して StartModeTest を呼び出すと、 StartModeTest はレジストリから既存の更新レート情報をクリアします。

テストでは、 lpModesToTest パラメーターと dwNumEntries パラメーターによって記述された配列内の解像度のみが表示される保証はありません。 たとえば、640×480 解像度は、320×200 解像度の最大表示可能な更新レートを取得するために使用されます。

要件

要件
対象プラットフォーム Windows
ヘッダー ddraw.h
Library Ddraw.lib
[DLL] Ddraw.dll

こちらもご覧ください

IDirectDraw7