Функция 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 содержит имя адаптера.
Чтобы получить сведения на мониторе отображения, сначала вызовите
Чтобы запросить все устройства мониторинга, связанные с адаптером, вызовите
Заметка
Заголовок 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) |
См. также
функций контекста устройства
Обзор контекстов устройств