Compartir a través de


Problemas con el análisis de la información de MCCS de Windows 7

Este artículo le ayuda a resolver el problema que se produce al analizar la información de MCCS en Windows 7.

Versión original del producto: Windows 7 Enterprise, Windows 7 Home Premium, Windows 7 Professional, Windows 7 Ultimate
Número de KB original: 2515532

Síntomas

Las pantallas compatibles con MCCS proporcionan una cadena de funcionalidad de MCCS que el sistema lee y analiza para proporcionar información sobre esa presentación a través GetMonitorCapabilities de la API. El conjunto de comandos de control veSA Monitor Versión 2.2a Estándar proporciona una cadena de ejemplo de la siguiente manera:

Prot(display) type(lcd) model(xxxxx) cmds(xxxxx) vcp(02 03 10 12 C8 DC(00 01 02 03 07) DF) mccs_ver(2.2)
window1(type (PIP) area(25 25 1895 1175) max(640 480) min(10 10) window(10)) vcpme(10(Brightness))

Esta cadena no se analizaría correctamente con el analizador actual en Windows 7 y GetLastError devolverá un error: STATUS_GRAPHICS_DDCCI_INVALID_CAPABILITIES_STRING

El monitor devolvió una cadena de funcionalidades DDC/CI que no cumplió con la especificación ACCESS.bus 3.0, DDC/CI 1.1 o MCCS 2 revision 1.

Causa

Esto se debe a algunas reglas excesivamente restrictivas en el analizador que no son necesarias en la especificación.

Solución

Para solucionar estas restricciones, el firmware de pantalla tendría que seguir algunos criterios más restrictivos para que el sistema analice correctamente.

  • La cadena debe estar encapsulada entre paréntesis

  • Cada encabezado no debe ir precedido de un espacio después de los paréntesis finales del encabezado anterior

  • Windows 7 solo admite las versiones 1.0, 2.0 y 2.1 de MCCS. Las versiones notificadas que no sean no se analizarán correctamente y devolverán un error y GetLastError devolverá ERROR_GRAPHICS_MCA_UNSUPPORTED_MCCS_VERSION.

  • El firmware de pantalla debe asegurarse de que la versión notificada en la cadena de funcionalidad coincide con la información de versión devuelta por GetVCPFeatureAndVCPFeatureReply() o, de lo contrario, el sistema devolverá un error y GetLastError devolverá ERROR_GRAPHICS_MCA_MCCS_VERSION_MISMATCH el error.