Función EnumDisplaySettingsExA (winuser.h)

La función EnumDisplaySettingsEx 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 visualización, realice una serie de llamadas a esta función.

Esta función difiere de EnumDisplaySettings en que hay un parámetro dwFlags .

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

Sintaxis

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

Parámetros

[in] lpszDeviceName

Puntero a una cadena terminada en null que especifica el dispositivo para mostrar sobre el modo gráfico 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

Indica el 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 EnumDisplaySettingsEx, 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 EnumDisplaySettingsEx con iModeNum establecido en cero, el sistema operativo inicializa y almacena en caché información sobre el dispositivo de pantalla. Cuando se llama a EnumDisplaySettingsEx 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 EnumDisplaySettingsEx, establezca el miembro dmSize en sizeof (DEVMODE) 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 EnumDisplaySettingsEx rellenará el miembro dmFields del lpDevMode y uno o varios otros miembros de la estructura DEVMODE . Para determinar qué miembros se establecieron mediante la llamada a EnumDisplaySettingsEx, inspeccione la máscara de bits dmFields . Algunos de los campos que normalmente rellena esta función incluyen:

  • dmBitsPerPel
  • dmPelsWidth
  • dmPelsHeight
  • dmDisplayFlags
  • dmDisplayFrequency
  • dmPosition
  • dmDisplayOrientation

[in] dwFlags

Este parámetro puede ser el siguiente valor.

Valor Significado
EDS_RAWMODE
Si se establece, la función devolverá todos los modos de gráficos notificados por el controlador del adaptador, independientemente de las funcionalidades de supervisión. De lo contrario, solo devolverá modos compatibles con monitores actuales.
EDS_ROTATEDMODE
Si se establece, la función devolverá modos de gráficos en todas las orientaciones. De lo contrario, solo devolverá modos que tengan la misma orientación que la establecida actualmente para la pantalla solicitada.

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 EnumDisplaySettingsEx 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

Requisito Value
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-1 (introducido en Windows 10, versión 10.0.14393)

Consulte también

ChangeDisplaySettings

ChangeDisplaySettingsEx

CreateDC

CreateDesktop

DEVMODE

DISPLAY_DEVICE

Funciones de contexto de dispositivo

Información general sobre contextos de dispositivo

EnumDisplayDevices

EnumDisplaySettings