Windows 7 分析 MCCS 信息时出现问题

本文可帮助你解决在 Windows 7 中分析 MCCS 信息时发生的问题。

原始产品版本:Windows 7 企业版、Windows 7 家庭高级版、Windows 7 专业版、Windows 7 旗舰版
原始 KB 数: 2515532

现象

符合 MCCS 的显示提供由系统读取和分析的 MCCS 功能字符串,以便通过 GetMonitorCapabilities API 提供有关该显示的信息。 VESA Monitor Control Command Set Version 2.2a Standard 提供示例字符串,如下所示:

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

此字符串无法正确分析 Windows 7 中的当前分析程序,GetLastError 将返回错误 - STATUS_GRAPHICS_DDCCI_INVALID_CAPABILITIES_STRING

监视器返回了不符合 ACCESS.bus 3.0、DDC/CI 1.1 或 MCCS 2 修订版 1 规范的 DDC/CI 功能字符串。

原因

这是由规范中不需要的分析器中的一些过于严格的规则引起的。

解决方法

若要解决这些限制,显示固件需要遵循一些更严格的条件,以便系统正确分析。

  • 字符串必须封装在括号中

  • 在上一个标头的结束括号之后,每个标头不得前面有一个空格

  • Windows 7 仅支持 MCCS 版本 1.0、2.0 和 2.1。 除这些版本以外的任何报告版本都不会正确分析,并且将返回错误,GetLastError 将返回 ERROR_GRAPHICS_MCA_UNSUPPORTED_MCCS_VERSION

  • 显示固件需要确保功能字符串中报告的版本与系统 GetVCPFeatureAndVCPFeatureReply() 返回的版本信息匹配,否则系统将返回错误,GetLastError 将返回 ERROR_GRAPHICS_MCA_MCCS_VERSION_MISMATCH 错误。