다음을 통해 공유


IDXGIOutput::GetDisplayModeList 메서드(dxgi.h)

[Direct3D 11.1부터 는 GetDisplayModeList 를 더 이상 사용하여 일치하는 표시 모드를 검색하지 않는 것이 좋습니다. 대신 스테레오 디스플레이 모드를 지원하는 IDXGIOutput1::GetDisplayModeList1을 사용합니다.]

요청된 형식 및 기타 입력 옵션과 일치하는 표시 모드를 가져옵니다.

구문

HRESULT GetDisplayModeList(
                  DXGI_FORMAT    EnumFormat,
                  UINT           Flags,
  [in, out]       UINT           *pNumModes,
  [out, optional] DXGI_MODE_DESC *pDesc
);

매개 변수

EnumFormat

형식: DXGI_FORMAT

색 형식입니다( DXGI_FORMAT 참조).

Flags

형식: UINT

포함할 모드 옵션( DXGI_ENUM_MODES 참조). 크기 조정이 필요한 디스플레이 모드를 노출하려면 DXGI_ENUM_MODES_SCALING 지정해야 합니다. 크기 조정이 필요하지 않고 디스플레이 출력에 직접 해당하는 가운데 모드는 기본적으로 열거됩니다.

[in, out] pNumModes

형식: UINT*

pNumModes가 형식 및 옵션과 일치하는 표시 모드 수를 반환하도록 pDescNULL로 설정합니다. 그렇지 않으면 pNumModespDesc에서 반환된 표시 모드 수를 반환합니다.

[out, optional] pDesc

형식: DXGI_MODE_DESC*

디스플레이 모드 목록에 대한 포인터입니다( DXGI_MODE_DESC 참조). 을 NULL 로 설정하여 표시 모드 수를 가져옵니다.

반환 값

형식: HRESULT

다음 DXGI_ERROR 중 하나를 반환합니다. 이 메서드를 호출한 후 사용 가능한 디스플레이 모드가 즉시 변경되는 경우는 드물지만, 이 경우 DXGI_ERROR_MORE_DATA 반환됩니다(모든 디스플레이 모드에 충분한 공간이 없는 경우).
원격 데스크톱 서비스 세션(이전의 Terminal Services 세션)에서 GetDisplayModeList 가 호출되면 DXGI_ERROR_NOT_CURRENTLY_AVAILABLE 반환됩니다.

설명

일반적으로 창에서 전체 화면 모드로 전환할 때 스왑 체인은 스왑 체인의 해상도, 색 깊이 및 새로 고침 속도를 충족하거나 초과하는 디스플레이 모드를 자동으로 선택합니다. 디스플레이 모드에 대한 더 많은 제어를 실행하려면 이 API를 사용하여 모니터 기능에 대해 유효성이 검사된 디스플레이 모드 집합 또는 데스크톱과 일치하는 모든 모드(데스크톱 설정이 모니터에 대해 유효성이 검사되지 않은 경우)를 폴링합니다.

표시된 것처럼 이 API는 두 번 호출되도록 설계되었습니다. 먼저 사용 가능한 모드 수를 가져옵니다. 두 번째는 모드에 대한 설명을 반환합니다.


UINT num = 0;
DXGI_FORMAT format = DXGI_FORMAT_R32G32B32A32_FLOAT;
UINT flags         = DXGI_ENUM_MODES_INTERLACED;

pOutput->GetDisplayModeList( format, flags, &num, 0);

...

DXGI_MODE_DESC * pDescs = new DXGI_MODE_DESC[num];
pOutput->GetDisplayModeList( format, flags, &num, pDescs);
      

요구 사항

   
대상 플랫폼 Windows
헤더 dxgi.h
라이브러리 DXGI.lib

추가 정보

IDXGIOutput