Compartir a través de


Función EnumDisplayDevicesA (winuser.h)

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

Sintaxis

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

Parámetros

[in] lpDevice

Puntero al nombre del dispositivo. Si NULL , la función devuelve información de los adaptadores de pantalla en la máquina, en función de iDevNum.

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

[in] iDevNum

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

El sistema operativo identifica cada dispositivo para mostrar en la sesión actual con un valor de índice. Los valores de índice son enteros consecutivos, a partir de 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 de DISPLAY_DEVICE que recibe información sobre el dispositivo para mostrar 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 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 ejecuta correctamente, el valor devuelto es distinto de cero.

Si se produce un error en la función, 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.

Observaciones

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 para mostrar 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 visualización, primero llame 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 para iniciarse en 0 y iDevNum establecer para incrementar hasta que se produzca un error en la función. Tenga en cuenta que DISPLAY_DEVICE. DeviceName cambios 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 Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de winuser.h (incluya Windows.h)
biblioteca de User32.lib
DLL de User32.dll
conjunto de API de 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 de

EnumDisplaySettings