Share via


Uso de las funciones de configuración de High-Level Monitor

Enumeración de monitores físicos

Hay varias funciones que enumeran los dispositivos de visualización, como EnumDisplayMonitors y MonitorFromWindow. Estas funciones se documentan en la documentación de GDI de Windows, en el tema Varios monitores de visualización. Estas funciones devuelven identificadores HMONITOR . Sin embargo, a pesar del nombre, un identificador HMONITOR se puede asociar a más de un monitor físico. Para configurar los valores en un monitor, la aplicación debe obtener un identificador único para el monitor físico mediante una llamada a GetPhysicalMonitorsFromHMONITOR.

Si la aplicación usa Direct3D, puedes obtener un identificador de monitor desde un dispositivo Direct3D llamando a GetPhysicalMonitorsFromIDirect3DDevice9.

Funciones admitidas

Es posible que un monitor no admita todas las funciones de configuración del monitor. Para averiguar qué funciones admite un monitor, llame a GetMonitorCapabilities.

Configuración de supervisión continua

Una configuración de supervisión continua es aquella que puede oscilar entre algún valor mínimo y máximo. La mayoría de las funciones de configuración de supervisión de alto nivel controlan la configuración del monitor continuo. Por ejemplo, el brillo y el contraste son configuraciones continuas.

La configuración de supervisión continua no tiene unidades definidas en el mundo real. Las unidades son arbitrarias y pueden variar de un fabricante a otro. Si dos monitores tienen el mismo valor de brillo, por ejemplo, un monitor podría parecer mucho más brillante que otro. Normalmente, una aplicación presentará controles deslizantes o controles ascendentes al usuario. A continuación, el usuario puede ajustar la configuración para ofrecer la mejor calidad objetiva.

Cambios en el estado de supervisión

Un monitor puede cambiar los estados por diversos motivos, entre los que se incluyen:

  • El usuario cambia la configuración con los controles del panel frontal del monitor.
  • El usuario cambia la resolución de pantalla del monitor, la frecuencia de actualización o la profundidad de bits.
  • La aplicación usa las funciones de supervisión de bajo nivel para cambiar una configuración que no es accesible desde las funciones de alto nivel.
  • La aplicación llama a RestoreMonitorFactoryColorDefaults o RestoreMonitorFactoryDefaults.

Todos estos eventos pueden cambiar la configuración del monitor. También pueden cambiar el valor mínimo y máximo de una configuración.

Dependencias entre la configuración de Monitor

Cambiar la temperatura del color puede cambiar la unidad actual y obtener la configuración, y la inversa también es true. Estas son las únicas dependencias entre las funciones de configuración de supervisión de alto nivel. Es posible que solo se pueda acceder a otras configuraciones a través de las funciones de supervisión de bajo nivel. Puede haber dependencias entre esa configuración y la configuración de alto nivel. Estas dependencias son específicas del proveedor. Una aplicación puede controlar este problema de varias maneras:

  • Use solo funciones de alto nivel.
  • Después de llamar a una función de bajo nivel, obtenga el valor actual de cada configuración de monitor. Desafortunadamente, este enfoque puede ser lento, ya que la obtención de cada configuración tarda aproximadamente 40 milisegundos.
  • Use funciones de bajo nivel solo con modelos de supervisión específicos cuyo comportamiento comprenda.

Configuración de monitor deshabilitada

Una aplicación no puede deshabilitar ninguna configuración de supervisión mediante una llamada a las funciones de supervisión de alto nivel. Sin embargo, una aplicación podría deshabilitar accidentalmente una configuración si usa las funciones de bajo nivel para cambiar una configuración de monitor que no es compatible con las funciones de alto nivel. Además, un usuario puede deshabilitar una configuración mediante el control del panel frontal. Estos comportamientos son específicos del proveedor.

Si se deshabilita una configuración de monitor, cualquier función que establezca o recupere esa configuración producirá un error y establecerá el código de último error en ERROR_DISABLED_MONITOR_SETTING. Cuando esto ocurre, la aplicación puede realizar una de las siguientes acciones:

  • Muestre un mensaje de error y sugiera al usuario que intente ajustar la configuración mediante el control del panel frontal.
  • Llame a la función RestoreMonitorFactoryDefaults . Si un monitor tiene la marca de funcionalidades MC_RESTORE_FACTORY_DEFAULTS_ENABLES_MONITOR_SETTINGS, esta función habilita todas las configuraciones de supervisión compatibles con las funciones de supervisión de alto nivel. Desafortunadamente, la función también restablece la configuración del monitor a su valor predeterminado de fábrica.

Uso de la configuración de supervisión