Функция EnumDisplaySettingsA (winuser.h)
Функция EnumDisplaySettings извлекает сведения о одном из графических режимов для устройства отображения. Чтобы получить сведения для всех графических режимов устройства отображения, выполните ряд вызовов этой функции.
Синтаксис
BOOL EnumDisplaySettingsA(
[in] LPCSTR lpszDeviceName,
[in] DWORD iModeNum,
[out] DEVMODEA *lpDevMode
);
Параметры
[in] lpszDeviceName
Указатель на строку, завершающуюся значением NULL, указывающую устройство отображения о графическом режиме функции, будет получать сведения.
Этот параметр имеет значение NULL или DISPLAY_DEVICE.DeviceName, возвращенные из EnumDisplayDevices. Значение NULL указывает текущее устройство отображения на компьютере, на котором выполняется вызывающий поток.
[in] iModeNum
Тип извлекаемой информации. Это значение может быть индексом режима графики или одним из следующих значений.
Индексы режима графики начинаются с нуля. Чтобы получить сведения для всех графических режимов устройства отображения, выполните ряд вызовов EnumDisplaySettings, как показано ниже: задайте iModeNum ноль для первого вызова и добавим iModeNum по одному для каждого последующего вызова. Продолжайте вызывать функцию, пока возвращаемое значение не равно нулю.
При вызове EnumDisplaySettings с iModeNum присвоено нулю, операционная система инициализирует и кэширует сведения об устройстве отображения. При вызове EnumDisplaySettings с iModeNum, которая имеет ненулевое значение, функция возвращает сведения, кэшированные при последнем вызове функции с iModeNum равным нулю.
[out] lpDevMode
Указатель на структуру DEVMODE, в которой функция хранит сведения о указанном графическом режиме. Перед вызовом
Функция EnumDisplaySettings задает значения для следующих пяти элементов DEVMODE:
- dmBitsPerPel
- dmPelsWidth
- dmPelsHeight
- dmDisplayFlags
- dmDisplayFrequency
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение ненулевое.
Если функция завершается ошибкой, возвращаемое значение равно нулю.
Замечания
Функция завершается ошибкой, если iModeNum больше индекса последнего графического режима устройства отображения. Как отмечалось в описании параметра iModeNum, это поведение можно использовать для перечисления всех режимов графики устройства отображения.
виртуализация DPI
Этот API не участвует в виртуализации DPI. Выходные данные всегда относятся к физическим пикселям и не связаны с контекстом вызова.Заметка
Заголовок winuser.h определяет EnumDisplaySettings в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | winuser.h (включая Windows.h) |
библиотеки |
User32.lib |
DLL | User32.dll |
набор API | ext-ms-win-ntuser-sysparams-ext-l1-1-0 (представлено в Windows 8) |
См. также
функций контекста устройства
Обзор контекстов устройств