Función EnumDisplayDevicesW (winuser.h)

La función EnumDisplayDevices permite obtener información sobre los dispositivos de visualización en la sesión actual.

Sintaxis

BOOL EnumDisplayDevicesW(
  [in]  LPCWSTR          lpDevice,
  [in]  DWORD            iDevNum,
  [out] PDISPLAY_DEVICEW lpDisplayDevice,
  [in]  DWORD            dwFlags
);

Parámetros

[in] lpDevice

Puntero al nombre del dispositivo. Si es NULL, la función devuelve información para los adaptadores de pantalla en el equipo, en función de iDevNum.

Para obtener más información, vea la sección Comentarios.

[in] iDevNum

Valor de índice que especifica el dispositivo para mostrar de interés.

El sistema operativo identifica cada dispositivo de visualización de la sesión actual con un valor de índice. Los valores de índice son enteros consecutivos, empezando por 0. Si la sesión actual tiene tres dispositivos para mostrar, por ejemplo, se especifican mediante los valores de índice 0, 1 y 2.

[out] lpDisplayDevice

Puntero a una estructura DISPLAY_DEVICE que recibe información sobre el dispositivo de visualización especificado por iDevNum.

Antes de llamar a EnumDisplayDevices, debe inicializar el miembro cb de DISPLAY_DEVICE al tamaño, en bytes, de DISPLAY_DEVICE.

[in] dwFlags

Establezca esta marca en EDD_GET_DEVICE_INTERFACE_NAME (0x00000001) para recuperar el nombre de la interfaz de dispositivo para GUID_DEVINTERFACE_MONITOR, que está registrado por el sistema operativo por monitor. El valor se coloca en el miembro DeviceID de la estructura DISPLAY_DEVICE devuelta en lpDisplayDevice. El nombre de la interfaz de dispositivo resultante se puede usar con las funciones SetupAPI y actúa como un vínculo entre los dispositivos de supervisión GDI y los dispositivos de supervisión setupAPI.

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero. Se produce un error en la función si iDevNum es mayor que el índice de dispositivo más grande.

Comentarios

Para consultar todos los dispositivos para mostrar en la sesión actual, llame a esta función en un bucle, empezando por iDevNum establecido en 0 e incremente iDevNum hasta que se produzca un error en la función. Para seleccionar todos los dispositivos de visualización en el escritorio, use solo los dispositivos de visualización que tengan la marca DISPLAY_DEVICE_ATTACHED_TO_DESKTOP en la estructura de DISPLAY_DEVICE .

Para obtener información sobre el adaptador de pantalla, llame a EnumDisplayDevices con lpDevice establecido en NULL. Por ejemplo, DISPLAY_DEVICE. DeviceString contiene el nombre del adaptador.

Para obtener información sobre un monitor de pantalla, llame primero a EnumDisplayDevices con lpDevice establecido en NULL. A continuación, llame a EnumDisplayDevices con lpDevice establecido en DISPLAY_DEVICE. DeviceName de la primera llamada a EnumDisplayDevices y con iDevNum establecido en cero. A continuación , DISPLAY_DEVICE. DeviceString es el nombre del monitor.

Para consultar todos los dispositivos de supervisión asociados a un adaptador, llame a EnumDisplayDevices en un bucle con lpDevice establecido en el nombre del adaptador, iDevNum establecido en start at 0 y iDevNum establecido en increment hasta que se produzca un error en la función. Tenga en cuenta que DISPLAY_DEVICE. DeviceName cambia con cada llamada para la información del monitor, por lo que debe guardar el nombre del adaptador. Se produce un error en la función cuando no hay más monitores para el adaptador.

Nota

El encabezado winuser.h define EnumDisplayDevices como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winuser.h (incluir Windows.h)
Library User32.lib
Archivo DLL User32.dll
Conjunto de API ext-ms-win-ntuser-sysparams-ext-l1-1-1 (introducido en Windows 10, versión 10.0.14393)

Consulte también

ChangeDisplaySettings

ChangeDisplaySettingsEx

CreateDC

DEVMODE

DISPLAY_DEVICE

Funciones de contexto de dispositivo

Información general sobre contextos de dispositivo

EnumDisplaySettings