다음을 통해 공유


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 는 테스트를 시작하지 않고 대신 lpModesToTestdwNumEntries 매개 변수가 식별하는 해상도를 테스트할 수 있는지 여부를 나타내는 값을 반환합니다.

반환 값

메서드가 성공하면 반환 값이 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 테이블에 60Hz보다 높은 값이 포함되어 있지 않으면 모드가 테스트되지 않습니다. EDID 테이블에 85Hz보다 높은 값이 포함된 경우에만 100Hz보다 높은 새로 고침 속도가 테스트됩니다.

인수 목록(NULL, 0, 0)을 사용하여 StartModeTest 를 호출하면 StartModeTest 는 레지스트리에서 기존 새로 고침 빈도 정보를 지웁니다.

테스트는 lpModesToTestdwNumEntries 매개 변수에 설명된 배열의 해상도만 표시하도록 보장하지 않습니다. 예를 들어 640×480 해상도는 320×200 해상도에 대해 볼 수 있는 최대 새로 고침 속도를 얻는 데 사용됩니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 ddraw.h
라이브러리 Ddraw.lib
DLL Ddraw.dll

추가 정보

IDirectDraw7