Función EnumDisplaySettingsA (winuser.h)

La función EnumDisplaySettings recupera información sobre uno de los modos gráficos de un dispositivo de visualización. Para recuperar información de todos los modos gráficos de un dispositivo de pantalla, realice una serie de llamadas a esta función.

Nota Las aplicaciones que diseñes para tener como destino Windows 8 y versiones posteriores ya no pueden consultar o establecer modos de visualización menores de 32 bits por píxel (bpp); se producirá un error en estas operaciones. Estas aplicaciones tienen un manifiesto de compatibilidad destinado a Windows 8. Windows 8 todavía admite modos de color de 8 y 16 bits para aplicaciones de escritorio creadas sin un manifiesto de Windows 8; Windows 8 emula estos modos, pero sigue funcionando en modo de color de 32 bits.
 

Sintaxis

BOOL EnumDisplaySettingsA(
  [in]  LPCSTR   lpszDeviceName,
  [in]  DWORD    iModeNum,
  [out] DEVMODEA *lpDevMode
);

Parámetros

[in] lpszDeviceName

Puntero a una cadena terminada en null que especifica el dispositivo para mostrar sobre el modo de gráficos en el que la función obtendrá información.

Este parámetro es NULL o un DISPLAY_DEVICE. DeviceName devuelto desde EnumDisplayDevices. Un valor NULL especifica el dispositivo de visualización actual en el equipo en el que se ejecuta el subproceso que realiza la llamada.

[in] iModeNum

Tipo de información que se va a recuperar. Este valor puede ser un índice de modo gráfico o uno de los valores siguientes.

Valor Significado
ENUM_CURRENT_SETTINGS
Recupere la configuración actual del dispositivo para mostrar.
ENUM_REGISTRY_SETTINGS
Recupere la configuración del dispositivo de visualización que se almacena actualmente en el Registro.
 

Los índices del modo gráfico comienzan en cero. Para obtener información para todos los modos de gráficos de un dispositivo de visualización, realice una serie de llamadas a EnumDisplaySettings, como se indica a continuación: Establezca iModeNum en cero para la primera llamada e incremente iModeNum por una para cada llamada subsiguiente. Continúe llamando a la función hasta que el valor devuelto sea cero.

Cuando se llama a EnumDisplaySettings con iModeNum establecido en cero, el sistema operativo inicializa y almacena en caché información sobre el dispositivo de pantalla. Cuando se llama a EnumDisplaySettings con iModeNum establecido en un valor distinto de cero, la función devuelve la información almacenada en caché la última vez que se llamó a la función con iModeNum establecido en cero.

[out] lpDevMode

Puntero a una estructura DEVMODE en la que la función almacena información sobre el modo gráfico especificado. Antes de llamar a EnumDisplaySettings, establezca el miembro sizeof(DEVMODE)dmSize en y establezca el miembro dmDriverExtra para indicar el tamaño, en bytes, del espacio adicional disponible para recibir datos del controlador privado.

La función EnumDisplaySettings establece valores para los cinco miembros DEVMODE siguientes:

  • dmBitsPerPel
  • dmPelsWidth
  • dmPelsHeight
  • dmDisplayFlags
  • dmDisplayFrequency

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.

Comentarios

Se produce un error en la función si iModeNum es mayor que el índice del último modo gráfico del dispositivo de visualización. Como se indica en la descripción del parámetro iModeNum , puede usar este comportamiento para enumerar todos los modos de gráficos de un dispositivo de visualización.

Virtualización de PPP

Esta API no participa en la virtualización de PPP. La salida especificada siempre está en términos de píxeles físicos y no está relacionada con el contexto de llamada.

Nota

El encabezado winuser.h define EnumDisplaySettings 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 neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en 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 (incluya Windows.h)
Library User32.lib
Archivo DLL User32.dll
Conjunto de API ext-ms-win-ntuser-sysparams-ext-l1-1-0 (introducido en Windows 8)

Consulte también

ChangeDisplaySettings

ChangeDisplaySettingsEx

CreateDC

CreateDesktop

DEVMODE

DISPLAY_DEVICE

Funciones de contexto de dispositivo

Información general sobre contextos de dispositivo

EnumDisplayDevices