Поделиться через


Функция EnumDisplayDevicesA (winuser.h)

Функция EnumDisplayDevices позволяет получить сведения о устройствах отображения в текущем сеансе.

Синтаксис

BOOL EnumDisplayDevicesA(
  [in]  LPCSTR           lpDevice,
  [in]  DWORD            iDevNum,
  [out] PDISPLAY_DEVICEA lpDisplayDevice,
  [in]  DWORD            dwFlags
);

Параметры

[in] lpDevice

Указатель на имя устройства. Если значение NULL, функция возвращает сведения для адаптеров отображения на компьютере на основе iDevNum.

Дополнительные сведения см. в разделе "Примечания".

[in] iDevNum

Значение индекса, указывающее интересующее устройство.

Операционная система определяет каждое устройство отображения в текущем сеансе со значением индекса. Значения индекса являются последовательными целыми числами, начиная с 0. Если текущий сеанс имеет три устройства отображения, например, они задаются значениями индекса 0, 1 и 2.

[out] lpDisplayDevice

Указатель на структуру DISPLAY_DEVICE, которая получает сведения об устройстве отображения, указанном iDevNum.

Перед вызовом EnumDisplayDevicesнеобходимо инициализировать cb член DISPLAY_DEVICE размера в байтах DISPLAY_DEVICE.

[in] dwFlags

Задайте для этого флага значение EDD_GET_DEVICE_INTERFACE_NAME (0x00000001), чтобы получить имя интерфейса устройства для GUID_DEVINTERFACE_MONITOR, зарегистрированного операционной системой на основе монитора. Значение помещается в элемент DeviceID структуры DISPLAY_DEVICE, возвращенной в lpDisplayDevice. Полученное имя интерфейса устройства можно использовать с функциями setupAPI и служит связью между устройствами мониторинга GDI и устройствами мониторинга SetupAPI.

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение ненулевое.

Если функция завершается ошибкой, возвращаемое значение равно нулю. Функция завершается ошибкой, если iDevNum больше, чем самый большой индекс устройства.

Замечания

Чтобы запросить все устройства отображения в текущем сеансе, вызовите эту функцию в цикле, начиная с iDevNum значение 0 и добавив iDevNum, пока функция не завершается ошибкой. Чтобы выбрать все устройства отображения на рабочем столе, используйте только устройства отображения с флагом DISPLAY_DEVICE_ATTACHED_TO_DESKTOP в структуре DISPLAY_DEVICE.

Чтобы получить сведения о адаптере отображения, вызовите EnumDisplayDevices с lpDevice значение NULL. Например, DISPLAY_DEVICE.DeviceString содержит имя адаптера.

Чтобы получить сведения на мониторе отображения, сначала вызовите EnumDisplayDevices с lpDevice, для параметра NULL. Затем вызовите EnumDisplayDevices с lpDevice для DISPLAY_DEVICE.DeviceName из первого вызова EnumDisplayDevices и с iDevNum равно нулю. Затем DISPLAY_DEVICE.DeviceString — это имя монитора.

Чтобы запросить все устройства мониторинга, связанные с адаптером, вызовите EnumDisplayDevices в цикле с lpDevice задать имя адаптера, iDevNum начать с 0, а iDevNum установить добавочное значение, пока функция не завершается. Обратите внимание, что DISPLAY_DEVICE. DeviceName изменения при каждом вызове данных мониторинга, поэтому необходимо сохранить имя адаптера. Функция завершается ошибкой, если для адаптера больше нет мониторов.

Заметка

Заголовок winuser.h определяет EnumDisplayDevices в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка winuser.h (включая Windows.h)
библиотеки User32.lib
DLL User32.dll
набор API ext-ms-win-ntuser-sysparams-ext-l1-1-1 (представлено в Windows 10 версии 10.0.14393)

См. также

ChangeDisplaySettings

ChangeDisplaySettingsEx

CreateDC

DEVMODE

DISPLAY_DEVICE

функций контекста устройства

Обзор контекстов устройств

EnumDisplaySettings