Функция EnumDisplaySettingsEx извлекает информацию об одном из графических режимах для устройства отображения. Чтобы извлечь информацию о всех графических режимах устройства отображения, сделайте серию вызовов этой функции.
Эта функция отличается от EnumDisplaySettings тем, что у нее есть параметр dwFlags.
Синтаксис
BOOL EnumDisplaySettingsEx( |
lpszDeviceName
[in] Указатель на символьную строку с нулем в конце, которая устанавливает устройство отображения о графическом режиме которого функция должна получить информацию.Этот параметр является или значением ПУСТО (NULL), или значением DISPLAY_DEVICE.DeviceName, возвращенным функцией EnumDisplayDevices. Значение ПУСТО (NULL) устанавливает текущее устройство отображения на компьютере, на котором выполняется вызывающий поток .
iModeNum
[in]Устанавливает тип информации, который извлекается. Это значение может быть индексом графического режима или одним из ниже перечисленных значений.
Значение | Предназначение |
---|---|
ENUM_CURRENT_SETTINGS | Извлекает текущие параметры настройки для устройства отображения. |
ENUM_REGISTRY_SETTINGS | Извлекает параметры настройки для устройства отображения, которые сохранены в системном реестре как текущие. |
Индексы графического режима начинаются с нуля. Чтобы получать информацию о всех графических режимах устройства отображения, сделайте серию вызовов функции EnumDisplaySettings, как ниже указано:
- установите параметр iModeNum в нуль для первого вызова и наращивайте iModeNum на единицу для каждого последующего вызова.
- продолжайте вызывать функцию до тех пор, пока величина возвращаемого значения не будет равна нулю.
Когда Вы вызываете EnumDisplaySettings с параметром iModeNum установленным в нуль , операционная система инициализирует и кэширует информацию об устройстве отображения. Когда Вы вызываете EnumDisplaySettings с iModeNum, установленным в ненулевое значение, функция возвращает информацию, которая кэшировалась последний раз, когда функция вызывалась с установленным в нуль iModeNum.
lpDevMode
[out] Указатель на структуру DEVMODE, в которой функция сохраняет информацию об заданном графическом режиме. Перед вызовом EnumDisplaySettings, установите член dmSize в sizeof (DEVMODE), а член dmDriverExtra установите так, чтобы он указывал размер, в байтах, дополнительного пространства, доступного, чтобы принять собственные данные драйвера.Функция EnumDisplaySettings устанавливает значения для ниже следующих пяти членов структуры DEVMODE:
dwFlags
[in] Этим параметром может быть ниже следующее значение.
Значение | Предназначение |
---|---|
EDS_RAWMODE | Если этот флажок установлен, функция должна возвратить все графические режимы зафиксированные драйвером адаптера, независимо от возможностей монитора. В противном случае, он возвращает, только режимы, которые являются совместимыми с текущим монитором. |
Если функция завершается успешно, величина возвращаемого значения - не нуль.
Если функция завершается с ошибкой, величина возвращаемого значения - нуль.
Чтобы получать дополнительные сведения об ошибке, вызовите GetLastError.
Функция завершается ошибкой, если iModeNum является больше, чем индекс последнего графического режима устройства отображения. Как отмечено в описании параметра iModeNum , Вы можете использовать этот режим работы, чтобы перечислить все графические режимы устройства отображения.
Windows 98/Me: EnumDisplaySettingsExW поддерживается программой Microsoft Layer for Unicode. Чтобы использовать ее, Вы должны добавить некоторые файлы к вашему приложению, как изложено в описании Microsoft Layer for Unicode для системы Windows 95/98/Me.
Обзор Контексты устройства, Функции, используемые контекстами устройства, ChangeDisplaySettings, ChangeDisplaySettingsEx, CreateDC, CreateDesktop, DEVMODE, DISPLAY_DEVICE, EnumDisplaySettings, EnumDisplayDevices
Размещение и совместимость EnumDisplaySettingsEx |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Нет |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Нет |
Используемая библиотека |
User32.lib |
Заголовочный файл |
|
- объявлено в |
Winuser.h |
- включено в |
Windows.h |
Unicode |
Реализуется как версии Unicode и ANSI для Windows NT/2000/XP. А также поддерживается программой Microsoft Layer for Unicode. |
Замечания по платформе |
Не имеется |