Чтение блоков расширения EDID в Windows или другие способы получения физического адреса CEC

Я пытаюсь программно прочитать адрес CEC (Consumer Electronic Control) моего порта HDMI. Эта информация хранится в информации EDID, которую видеокарта опрашивает из монитора по каналу DDC. https://en.wikipedia.org/wiki/Extended_Display_Identification_Data

По какой-то причине Windows сохраняет в реестре только первую половину, а остальные сбрасывает, где и находятся интересующие меня данные.

Я провел около дня, читая эту тему, но я ударился о стену. Предыдущие вопросы касались только первого блока EDID, который сохраняется в реестре: Код Win32 для получения EDID в Windows XP/7

Я знаю, что можно прочитать другие блоки, потому что инструмент MonInfo может: http://www.entechtaiwan.com/util/moninfo.shtm

Я думаю, что можно было бы запросить его через некоторые графические драйверы, но я надеялся на более универсальное решение.


person Austin Palmer    schedule 21.07.2016    source источник
comment
Несколько лет назад я переписал EDID на мониторе с фальшивыми данными. Но в конце концов я сделал это из Linux, а не из Windows, поскольку - кроме кэшированных данных реестра - Windows не упростила прямой доступ к данным EDID, и, если я правильно помню, вам нужно написать драйвер для выполнения кода в режиме ядра для доступа необходимые биты.   -  person Chris Becke    schedule 21.07.2016
comment
VideoPortDDCMonitorHelper. Или обратитесь напрямую к интерфейсу I²C, используя DeviceIoControl. .   -  person IInspectable    schedule 21.07.2016