| Предыдущий | Следующий |
| STATUS_MONITOR_INVALID_USER_FRIENDLY_MONDSC_BLOCK | STATUS_MONITOR_INVALID_DETAILED_TIMING_BLOCK |
STATUS_MONITOR_NO_MORE_DESCRIPTOR_DATA
Запрос вышел за конец данных дескриптора
STATUS_MONITOR_NO_MORE_DESCRIPTOR_DATA — условие выхода за границы. Вызывающая сторона запросила область дескриптора, заданную смещением и размером, но доступные компоненту данные монитора не покрывают эту область. Это отличается от неверно сформированного блока тайминга, поскольку операция может завершиться до разбора любого поля.
Горячее подключение и замена дескриптора делают устаревшие смещения особенно опасными. Вызывающая сторона, закэшировавшая размер прежнего монитора, цепочки расширений или набора дескрипторов, может обратиться за пределы данных текущей цели. Повторно запросите текущий объект вместо обрезания запроса или дополнения отсутствующих байтов.
Что проверить
- Запишите запрошенное смещение, размер, длину дескриптора, число блоков и идентификатор цели.
- Повторно выполните перечисление после горячего подключения, повторной стыковки, цикла питания монитора или изменения топологии.
- Считайте короткое чтение отсутствующими данными; не разбирайте заполненные нулями или скопированные байты как настоящий дескриптор.
Ссылки
- Microsoft: WmiMonitorRawEEdidV1Block
- Стандарт VESA Enhanced EDID, выпуск A2
- Ядро Linux: диагностика EDID и переопределения
Нужно найти другой код? Найти другой код состояния или ошибки.