Что означает код NTSTATUS 0xC000003C (STATUS_DATA_OVERRUN)?

 
Предыдущий Следующий
STATUS_OBJECT_PATH_SYNTAX_BAD STATUS_DATA_LATE_ERROR

STATUS_DATA_OVERRUN

Устройство передало больше данных, чем мог принять запрос

Переполнение данных возникает, когда устройство, контроллер или протокол передаёт больше байтов, чем вмещает выделенная передача либо ожидаемая длина записи. Для последовательных устройств это может быть связано с переменным размером блоков; на последовательных или накопительных путях причиной может быть неверная длина буфера либо повреждённые метаданные команды.

Зафиксируйте как запрошенный, так и сообщённый размер передачи. Молчаливое усечение может нарушить синхронизацию записей или отбросить конечные данные. Прежде чем увеличивать буфер, проверьте режим блоков, размер сектора, отображение scatter-gather и предположения драйвера, поскольку увеличенная передача сама может быть ошибочной.

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

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

Ссылки


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