Share via


EnumDisplaySettingsExW 함수(winuser.h)

EnumDisplaySettingsEx 함수는 디스플레이 디바이스의 그래픽 모드 중 하나에 대한 정보를 검색합니다. 디스플레이 디바이스의 모든 그래픽 모드에 대한 정보를 검색하려면 이 함수를 일련의 호출합니다.

이 함수는 dwFlags 매개 변수가 있다는 점에서 EnumDisplaySettings와 다릅니다.

참고 Windows 8 이상 대상으로 디자인한 앱은 더 이상 픽셀당 32비트(bpp) 미만인 표시 모드를 쿼리하거나 설정할 수 없습니다. 이러한 작업은 실패합니다. 이러한 앱에는 Windows 8 대상으로 하는 호환성 매니페스트가 있습니다. Windows 8 여전히 Windows 8 매니페스트 없이 빌드된 데스크톱 앱에 대해 8비트 및 16비트 색 모드를 지원합니다. Windows 8 이러한 모드를 에뮬레이트하지만 여전히 32비트 색 모드로 실행됩니다.
 

구문

BOOL EnumDisplaySettingsExW(
  [in]  LPCWSTR  lpszDeviceName,
  [in]  DWORD    iModeNum,
  [out] DEVMODEW *lpDevMode,
  [in]  DWORD    dwFlags
);

매개 변수

[in] lpszDeviceName

함수가 정보를 가져올 그래픽 모드에 대한 디스플레이 디바이스를 지정하는 null로 끝나는 문자열에 대한 포인터입니다.

이 매개 변수는 NULL 또는 DISPLAY_DEVICE. EnumDisplayDevices에서 반환된 DeviceName입니다. NULL 값은 호출 스레드가 실행 중인 컴퓨터의 현재 디스플레이 디바이스를 지정합니다.

[in] iModeNum

검색할 정보의 유형을 나타냅니다. 이 값은 그래픽 모드 인덱스 또는 다음 값 중 하나일 수 있습니다.

의미
ENUM_CURRENT_SETTINGS
디스플레이 디바이스에 대한 현재 설정을 검색합니다.
ENUM_REGISTRY_SETTINGS
현재 레지스트리에 저장된 디스플레이 디바이스에 대한 설정을 검색합니다.
 

그래픽 모드 인덱스는 0부터 시작합니다. 모든 디스플레이 디바이스의 그래픽 모드에 대한 정보를 가져오려면 EnumDisplaySettingsEx에 대한 일련의 호출을 수행합니다. 첫 번째 호출에 대해 iModeNum 을 0으로 설정하고 후속 호출마다 iModeNum 을 하나씩 증분합니다. 반환 값이 0이 될 때까지 함수를 계속 호출합니다.

iModeNum이 0으로 설정된 EnumDisplaySettingsEx를 호출하면 운영 체제가 디스플레이 디바이스에 대한 정보를 초기화하고 캐시합니다. iModeNum이 0이 아닌 값으로 설정된 EnumDisplaySettingsEx를 호출하면 함수는 iModeNum이 0으로 설정된 상태에서 함수가 마지막으로 호출되었을 때 캐시된 정보를 반환합니다.

[out] lpDevMode

함수가 지정된 그래픽 모드에 대한 정보를 저장하는 DEVMODE 구조체에 대한 포인터입니다. EnumDisplaySettingsEx를 호출하기 전에 dmSize 멤버를 sizeof(DEVMODE)로 설정하고 dmDriverExtra 멤버를 설정하여 프라이빗 드라이버 데이터를 수신하는 데 사용할 수 있는 추가 공간의 크기(바이트)를 나타냅니다.

EnumDisplaySettingsEx 함수는 lpDevModedmFields 멤버와 DEVMODE 구조체의 하나 이상의 다른 멤버를 채웁니다. EnumDisplaySettingsEx 호출로 설정된 멤버를 확인하려면 dmFields 비트 마스크를 검사합니다. 이 함수에 의해 일반적으로 채워진 필드 중 일부는 다음과 같습니다.

  • dmBitsPerPel
  • dmPelsWidth
  • dmPelsHeight
  • dmDisplayFlags
  • dmDisplayFrequency
  • dmPosition
  • dmDisplayOrientation

[in] dwFlags

이 매개 변수는 다음 값일 수 있습니다.

의미
EDS_RAWMODE
설정된 경우 함수는 모니터 기능에 관계없이 어댑터 드라이버에서 보고한 모든 그래픽 모드를 반환합니다. 그렇지 않으면 현재 모니터와 호환되는 모드만 반환합니다.
EDS_ROTATEDMODE
설정되면 함수는 모든 방향으로 그래픽 모드를 반환합니다. 그렇지 않으면 요청된 디스플레이에 대해 현재 설정된 방향과 동일한 모드만 반환합니다.

반환 값

함수가 성공하면 반환 값이 0이 아닙니다.

함수가 실패하면 반환 값은 0입니다.

설명

iModeNum이 디스플레이 디바이스의 마지막 그래픽 모드 인덱스보다 크면 함수가 실패합니다. iModeNum 매개 변수에 대한 설명에서 설명한 대로 이 동작을 사용하여 디스플레이 디바이스의 모든 그래픽 모드를 열거할 수 있습니다.

DPI 가상화

이 API는 DPI 가상화에 참여하지 않습니다. 지정된 출력은 항상 물리적 픽셀의 측면에서 이며 호출 컨텍스트와 관련이 없습니다.

참고

winuser.h 헤더는 ENumDisplaySettingsEx를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 winuser.h(Windows.h 포함)
라이브러리 User32.lib
DLL User32.dll
API 세트 ext-ms-win-ntuser-sysparams-ext-l1-1-1(Windows 10 버전 10.0.14393에 도입됨)

추가 정보

ChangeDisplaySettings

ChangeDisplaySettingsEx

CreateDC

CreateDesktop

Devmode

DISPLAY_DEVICE

디바이스 컨텍스트 함수

디바이스 컨텍스트 개요

EnumDisplayDevices

EnumDisplaySettings