Функция 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, для параметра iModeNum задано значение 0, операционная система инициализирует и кэширует сведения об устройстве отображения. При вызове EnumDisplaySettings с параметром iModeNum, для параметра iModeNum задано ненулевое значение, функция возвращает сведения, которые кэшировались при последнем вызове функции с параметром iModeNum , равным нулю.
[out] lpDevMode
Указатель на структуру DEVMODE , в которую функция хранит сведения о указанном графическом режиме. Перед вызовом EnumDisplaySettings задайте для члена sizeof(DEVMODE)
dmSize значение , а для члена dmDriverExtra укажите размер (в байтах) дополнительного пространства, доступного для получения данных о частных драйверах.
Функция EnumDisplaySettings задает значения для следующих пяти членов DEVMODE :
- dmBitsPerPel
- dmPelsWidth
- dmPelsHeight
- dmDisplayFlags
- dmDisplayFrequency
Возвращаемое значение
Если функция выполняется успешно, возвращается ненулевое значение.
Если функция выполняется неудачно, возвращается нулевое значение.
Комментарии
Функция завершается ошибкой, если iModeNum больше индекса последнего графического режима устройства отображения. Как указано в описании параметра iModeNum , это поведение можно использовать для перечисления всех графических режимов устройства отображения.
Виртуализация DPI
Этот API не участвует в виртуализации DPI. Выходные данные всегда относятся к физическим пикселям и не связаны с вызывающим контекстом.Примечание
Заголовок winuser.h определяет EnumDisplaySettings в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winuser.h (включая Windows.h) |
Библиотека | User32.lib |
DLL | User32.dll |
Набор API | ext-ms-win-ntuser-sysparams-ext-l1-1-0 (представлено в Windows 8) |