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