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가 형식 및 옵션과 일치하는 표시 모드 수를 반환하도록 pDesc를 NULL로 설정합니다. 그렇지 않으면 pNumModes 는 pDesc에서 반환된 표시 모드 수를 반환합니다.
[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 |