0

I tried to get VCP features from my monitor, I can get the values from my monitor with some test tools or C++ code. But if the VCP code contains sub-code, I get failed. I get the capability string of my monitor:

Capabilities String: 
(prot(monitor)type(lcd)model(HP Z24m G3)cmds(01 02 03 07 0C E3 F3)vcp(02 04 05 08 0B 0C 10 12 16 18 1A 2E(00 01 02 03) 52 60(0F 11 13) 62 6C 6E 70 86(01 02 05) 87(01 02 03 04 05 06 07) 8D(01 02) AC AE B2 B6 C0 C6 C8 C9 CA(01 02) CC(01 02 03 04 05 06 09 0A 0D 0E 14) D6(01 02 03 04 05) DC(00( 00 01 02 05 13 14 15 1D 2B)02(00 01 02 03 04) ) DF E0(02(00 01 03)) E1(04(00 01 03 04 06 08 09 0A) 0A(00 01) 0C(20) 0F(00 01) 10(00 01) 27(02 03 04 05 07 09 0A FF) 28(00 01) 2C(00 01) 2D(00 01) 30(00 01) 31(00 01) 32(00 01) 35(00 01 02) 36(00 01) 39(02 03) 3B 3C 3E 3F(02 03 04 05) 40(00 01 02 03) 42(00 01) 43(00 01) 45(00 01) 49(00 01) 4A(00 01) 4C( 00 01 ) 4E(00 01 02 03 04 05 FF) 56 57(00 01) 6E(01) 6F(00) 72(00 01) 73(00 01)) E6(00 01) E7(00 01) E8(18(00 01) 1B( 00 01 02) 1C(00 01) 1E( 00 01 02)) E9(0D(00 01)) EA(00 01) EB(00( 01 02 03 04)) EE(01 02 03) EF(01 02 03 04 05) F0 F5(00 01 02 03 05 06 0A 0B 0C 0D 0E 0F 11 12 13 14 15 18 19 1B 1C 1D 1E) F8(00 01 02(00 01 02) 0A) FA(00 01 02) FB FC FD FE(00 01 02 03 04))mswhql(1)asset_eep(40)mccs_ver(2.2))

I wanna get the VCP code "E1" ,which contains sub-code "35(00 01 02)".

And here is the VCP menu of my monitor.

table of supported VCP features. 0xE1 is USB-C configuration

"E1" is used by several functions and I just want to get the "displayport mode".

I had tried some test tools and C++ function "GetVCPFeatureAndVCPFeatureReply" but all return zero. I'll be appreciated if there is someone help me. Thanks!

user253751
  • 57,427
  • 7
  • 48
  • 90
Jacob
  • 1
  • 3
  • Where did you get this capability string? How did you call GetVCPFeatureAndVCPFeatureReply? (sorry I don't know about VESA MCCS) – user253751 Mar 06 '23 at 15:25
  • sorry I tried to fix the image but I screwed it up the first time and didn't notice until just now – user253751 Mar 06 '23 at 15:59
  • I get the capability string by https://learn.microsoft.com/en-us/windows/win32/api/lowlevelmonitorconfigurationapi/nf-lowlevelmonitorconfigurationapi-capabilitiesrequestandcapabilitiesreply – Jacob Mar 07 '23 at 01:36

1 Answers1

0

I finally finish it. use SetVCPFeature to set the value 0xB5 to select the function then use GetVCPFeature to get 0xE1

VCP page

Jacob
  • 1
  • 3