| Предыдущий | Следующий |
| MF_E_ASF_MISSINGDATA | MF_E_ASF_OPAQUEPACKET |
MF_E_ASF_INVALIDDATA
Что означает MF_E_ASF_INVALIDDATA
MF_E_ASF_INVALIDDATA (0xC00D3A9A) означает, что переданные данные не соответствуют ожидаемой структуре ASF.
Объект данных ASF (Data Object) состоит из контейнерных пакетов с собственными заголовками и границами. Поэтому этот HRESULT может означать как повреждение файла, так и ошибку вызывающего кода, который передал разборщику данные с неправильного смещения или обрезанный пакет.
Что проверить
- Сверьте абсолютное положение байтового потока с началом объекта данных ASF. Заголовок ASF и данные пакетов — разные области контейнера.
- После перехода к другой позиции начинайте разбор с корректной границы пакета, найденной через индекс или информацию контейнера, а не с произвольного байтового смещения.
- Проверьте длину каждого буфера, передаваемого в
ParseData: частично прочитанный заголовок пакета может выглядеть как повреждённая структура. - Если та же область файла не разбирается независимым разборщиком ASF, сравните источник с заведомо исправной копией: тогда вероятнее повреждён сам контейнер.
MF_E_ASF_INVALIDDATA отличается от MF_E_ASF_MISSINGDATA: здесь имеющиеся байты нельзя корректно интерпретировать как ASF, а MISSINGDATA указывает на пропуск в ожидаемой последовательности.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
