Что означает код ошибки Windows 24 (ERROR_BAD_LENGTH)?

 
Также может означать:
КонстантаТипОС
KERN_MEMORY_DATA_MOVEDКод возврата ядра macOSmacOS
ippStsNoOperationInDllСтатус Intel IPPЛюбая
EMFILEerrnoЛюбая
REFERENCE_BY_POINTERКод BSODWindows
Предыдущий Следующий
ERROR_CRC ERROR_SEEK

ERROR_BAD_LENGTH

Переданная длина не соответствует операции

ERROR_BAD_LENGTH возвращается, когда программа отправляет команду, объявленный размер которой недопустим для принимающего API, устройства или структуры. Это может выявить смешение байтов и элементов, неправильную упаковку, усечённые запросы или использование версии структуры, не поддерживаемой драйвером.

Точки проверки

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

Восстановление

Заново сформируйте запрос с документированным размером и инициализируйте поле длины структуры, если оно предусмотрено. Не увеличивайте буфер вслепую: некоторые интерфейсы требуют точной длины, а не минимальной. Если ошибка возникает только в одной версии Windows, проверьте контракт версионируемой структуры.

Ссылки


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