Share via


EnumDisplaySettingsA 함수(winuser.h)

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

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

구문

BOOL EnumDisplaySettingsA(
  [in]  LPCSTR   lpszDeviceName,
  [in]  DWORD    iModeNum,
  [out] DEVMODEA *lpDevMode
);

매개 변수

[in] lpszDeviceName

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

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

[in] iModeNum

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

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

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

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

[out] lpDevMode

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

EnumDisplaySettings 함수는 다음 5개의 DEVMODE 멤버에 대한 값을 설정합니다.

  • dmBitsPerPel
  • dmPelsWidth
  • dmPelsHeight
  • dmDisplayFlags
  • dmDisplayFrequency

반환 값

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

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

설명

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

DPI 가상화

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

참고

winuser.h 헤더는 ENumDisplaySettings를 유니코드 전처리기 상수의 정의에 따라 이 함수의 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-0(Windows 8에서 도입)

추가 정보

ChangeDisplaySettings

ChangeDisplaySettingsEx

CreateDC

CreateDesktop

Devmode

DISPLAY_DEVICE

디바이스 컨텍스트 함수

디바이스 컨텍스트 개요

EnumDisplayDevices