Что означает код NTSTATUS 0xC01D0008 (STATUS_MONITOR_NO_MORE_DESCRIPTOR_DATA)?

 
Предыдущий Следующий
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 — условие выхода за границы. Вызывающая сторона запросила область дескриптора, заданную смещением и размером, но доступные компоненту данные монитора не покрывают эту область. Это отличается от неверно сформированного блока тайминга, поскольку операция может завершиться до разбора любого поля.

Горячее подключение и замена дескриптора делают устаревшие смещения особенно опасными. Вызывающая сторона, закэшировавшая размер прежнего монитора, цепочки расширений или набора дескрипторов, может обратиться за пределы данных текущей цели. Повторно запросите текущий объект вместо обрезания запроса или дополнения отсутствующих байтов.

Что проверить

  • Запишите запрошенное смещение, размер, длину дескриптора, число блоков и идентификатор цели.
  • Повторно выполните перечисление после горячего подключения, повторной стыковки, цикла питания монитора или изменения топологии.
  • Считайте короткое чтение отсутствующими данными; не разбирайте заполненные нулями или скопированные байты как настоящий дескриптор.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.