Что означает код HRESULT 0x80340014 (ERROR_NDIS_INVALID_LENGTH)?

 
Предыдущий Следующий
ERROR_NDIS_ADAPTER_NOT_READY ERROR_NDIS_INVALID_DATA

ERROR_NDIS_INVALID_LENGTH

Что означает результат

ERROR_NDIS_INVALID_LENGTH: NDIS получил буфер или структуру с длиной, недопустимой для текущего запроса. Обычно это несоответствие размера версии структуры или payload конкретного OID.

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

  • Сохраните OID, Method/Query/Set type, длину входного и выходного буфера и BytesNeeded/BytesWritten, если они возвращены.
  • Проверьте Header.Revision и Header.Size для versioned NDIS structures.
  • Не используйте sizeof новой структуры с драйвером, которому передаётся более старая revision, и наоборот.
  • Для переменных массивов пересчитайте полный размер с учётом количества элементов и проверкой переполнения.

Диагностика и исправление

Передайте длину, требуемую контрактом этой версии OID. Если NDIS сообщает необходимый размер, повторяйте только после выделения соответствующего буфера, а не с тем же неверным значением.

Технические ссылки


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